2016-12-19 65 views
0

我试图通过命令行下载一些工件与maven。我只知道工件的基本版本,但他们在nexus存储库中有单独的时间戳。Maven依赖项:复制基本版本的工件

例如:

伪影com.mycompany.subject:any-artifact:3.0.0-SNAPSHOT:war:plugins具有下列坐标com.mycompany.subject:any-artifact:3.0.0-20161212.140040-1:war:plugins在关系存储库中。

我要下载的神器是这样的:

mvn org.apache.maven.plugins:maven-dependency-plugin:2.10:copy -Dartifact=com.mycompany.subject:any-artifact:3.0.0-SNAPSHOT:war:plugins -DoutputDirectory=./my-tmp 

我的文档中发现了-Dmdep.useBaseVersion选项,但这只是节约与基础版本下载的神器。

编辑:

的问题是,我只知道伪影的基本版本例如3.0.0-SNAPSHOT,当我尝试从上面的nexus下载它时,它会失败,因为nexus中的版本带有时间戳。

的maven-metadata.xml中:

<metadata> 
    <groupId>com.mycompany.subject</groupId> 
    <artifactId>any-artifact</artifactId> 
    <versioning> 
    <versions> 
     <version>3.0.0-SNAPSHOT</version> 
    </versions> 
    <lastUpdated>20161214160043</lastUpdated> 
    </versioning> 
</metadata> 

错误,堆栈跟踪:

[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD FAILURE 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 2.319 s 
[INFO] Finished at: 2016-12-19T15:04:06+01:00 
[INFO] Final Memory: 16M/298M 
[INFO] ------------------------------------------------------------------------ 
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:2.10:copy (default-cli) on project standalone-pom: Unable to find artifact. Could not find artifact com.mycompany.subject:any-artifact:3.0.0-SNAPSHOT in <remote-repository-id> (https://<nexus-repo-url>/nexus/repository/<specified-repository>) 
[ERROR] 
[ERROR] Try downloading the file manually from the project website. 
[ERROR] 
[ERROR] Then, install it using the command: 
[ERROR] mvn install:install-file -DgroupId ... 
[ERROR] 
[ERROR] Alternatively, if you host your own repository you can deploy the file there: 
[ERROR] mvn deploy:deploy-file -DgroupId ... 
[ERROR] 
[ERROR] 
[ERROR] com.mycompany.subject:any-artifact:3.0.0-SNAPSHOT 
[ERROR] 
[ERROR] from the specified remote repositories: 
[ERROR] remote-repository-id (https://<nexus-repo-url>/nexus/repository/<specified-repository>), 
[ERROR] -> [Help 1] 
+0

什么是目前错误?你在寻找什么结果? – Tunaki

+0

看看我的编辑请。我想使用基本版本下载工件,但版本在存储库中有时间戳。 – Oni1

+0

这不应该导致问题。神器经理应该理解'3.0.0-SNAPSHOT'并下载最新的时间戳快照。 Nexus中可能存在配置错误。在'http:// yourNexusUrl/com/mycompany/subject/any-artifact'中检查文件'maven-metadata.xml'。它是什么样子的? – Tunaki

回答

0

的问题是,该项目没有在资源库中一个pom.xml,所以Maven的需求可能具有时间戳的确切版本号等。

现在,我部署带有-DgeneratePom=true选项的工件,并且我只能从存储库下载最新的工件基本版本号。