如何从本地存储库复制最新版本的Maven依赖项?

时间:2017-03-20 12:56:10

标签: java maven jenkins maven-3

我有一个针对Jenkins持续集成的特​​定用例,但答案可能是一般的Maven解决方案。

我想将Maven工件的最新版本(可能是SNAPSHOT)复制到本地目录。更多细节:

  • 我有一个使用Maven构建Java项目的Jenkins构建计划,导致在本地Maven仓库中安装了一个工件(mvn clean install)。
  • 在一个单独的构建计划中(由于不同的原因不能由第一个构建计划触发),我想使用第一个构建计划的最新结果并将其复制到本地目录(从我部署的位置)它进入Docker容器。)

这意味着a)第一个构建计划将一个工件(可能是SNAPSHOT版本)安装到本地Maven仓库中,并且b)我不知道最新工件的确切版本号。

我尝试过的是使用Maven Dependency Plugin,但我还没有找到一个很好的解决方案:

mvn dependencies:copy -Dartifact=foogroup:artifact:1.2.3-SNAPSHOT:jar -DoutputDir=.

这会将指定工件的版本1.2.3-SNAPSHOT复制到当前目录中,但在这种情况下需要知道版本号。

我还尝试使用

中的LATEST标识符
mvn dependencies:copy -Dartifact=foogroup:artifact:LATEST:jar -DoutputDir=.

但它只尝试从远程存储库中解析工件,而不是从同一台机器上的本地存储库中解析工件。使用这种方法,我可以获得有人上传的最新工件,但不能获得刚刚在机器上构建的工件。

有没有办法从本地Maven仓库获取最新版本,而不是远程版本?

0 个答案:

没有答案