我正在尝试将特定 Artifact (及其所有依赖项)下载到机器的本地存储库。
似乎使用dependency:get 目标将是最好的选择,但尽管有文档,它似乎并没有真正获得传递依赖。
这是我尝试使用 dependency:get
的示例下载 spring-core jar 及其所有依赖项。您会注意到 spring-core jar 是唯一下载的东西,尽管这是在清理本地存储库之后完成的。
$ mvn org.apache.maven.plugins:maven-dependency-plugin:2.2:get -DrepoUrl=http://repo1.maven.org/maven2/ -Dartifact=org.springframework:spring-core:3.0.5.RELEASE -Dtransitive=true
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-dependency-plugin:2.2:get (default-cli) @ standalone-pom ---
Downloading: http://repo1.maven.org/maven2/org/springframework/spring-core/3.0.5.RELEASE/spring-core-3.0.5.RELEASE.jar
Downloaded: http://repo1.maven.org/maven2/org/springframework/spring-core/3.0.5.RELEASE/spring-core-3.0.5.RELEASE.jar (374 KB at 548.4 KB/sec)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4.401s
[INFO] Finished at: Wed May 25 00:29:47 CDT 2011
[INFO] Final Memory: 7M/107M
[INFO] ------------------------------------------------------------------------
我的问题是:
dependency:get
的错误吗?目标? 最佳答案
如果这对您来说是一次性的或不规则的,最简单的方法是在 POM 中定义依赖项并运行 mvn package
或类似于检索依赖项 Artifact 。你也可以试试 mvn dependency:sources
如果您也想拥有源 jars。
如果这是您想要更经常地或作为流程的一部分进行的事情,您可以考虑使用 Aether直接为您检索依赖项。
如果这是您需要定期执行以将 Artifact 组管理到您的内部开发生态系统中的另一种方法是使用 Nexus' procurement suite检索依赖项并将它们管理到您的存储库中。
关于maven - 将 Maven Artifact 传递下载到本地存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6120007/