Maven Dependency Plugin从远程存储库复制工件

时间:2015-03-13 18:10:51

标签: maven

我目前在部署war文件的服务器上设置了archiva远程存储库。我需要将war文件从远程存储库复制到服务器上的目录中。所以我使用maven-dependency-plugin就像这样

mvn org.apache.maven.plugins:maven-dependency-plugin:2.10:copy \
-Dartifact=<groupId>:<artifactId>:<version>:war \
-DoutputDirectory=/home/me/some/directory

查看maven文档,此命令将解析依赖关系,然后将其复制到目录。它将依赖项下载到此结构中。

Directory struture
~/.m2/repository/<groupId>/<artifactId>/<version>/<artifactId>-<version>.war

工件在本地存储库中后,复制命令失败并说它找不到工件。

Unable to find artifact. 
Could not find artifact <groupId>:<artifactId>:war:<version>

这个结构看起来是否正确?奇怪的是,当我运行

时,junit的目录结构是相同的
mvn org.apache.maven.plugins:maven-dependency-plugin:2.10:copy \
-Dartifact=junt:junit:4.11:jar \
-DoutputDirectory=/home/me/some/directory
一切正常。

1 个答案:

答案 0 :(得分:0)

我刚刚遇到类似的问题,但是来自Eclipse。也许这会对你有帮助。

我正在使用copy-dependencies目标。

在我的pom中,我必须将远程仓库定义为:

<repository>
    <id>http://maven.xwiki.org</id>
    <url>http://maven.xwiki.org/externals</url>
</repository>

来自CLI的Maven警告&#34;://&#34;上面的id中的字符,但如果我从Eclipse中删除它们,则无法在远程仓库中找到依赖项。