将Maven工件传递下载到本地存储库

Mik*_*eck 7 maven transitive-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] ------------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)



我的问题是:

  1. 这是dependency:get目标的错误吗?
  2. 如果没有,我做错了什么?
  3. 我可以使用任何替代方法来实现我最初设定的目标吗?

Ric*_*ler 6

如果这是一次或不定期发生,最简单的事情是在POM中定义依赖关系并运行mvn package或类似以检索依赖项工件.你也可以尝试,mvn dependency:sources如果你也想拥有源罐子.

如果您希望更频繁地或作为流程的一部分执行此操作,则可以直接使用Aether为您检索依赖项.

另一种方法是,如果您需要定期管理工件组到内部开发生态系统,那么使用Nexus的采购套件来检索依赖关系并将其管理到您的存储库中.