【发布时间】:2016-04-26 03:37:35
【问题描述】:
我们有项目 A 构建到一个 jar 文件和项目 B 包含对项目 A 的依赖项。不知何故,当 Jenkins 构建项目 B 时,它并不总是选择项目 A 的最新版本,即使它在版本范围内。
例如,我刚刚在项目 B 上进行了构建,即使项目 A 的最新版本是 projectA-1.0.20160425-2125.54.jar,它也选择了早期版本,即 core-1.0.20160422-1926.49.jar。
如何解决这个问题,以便项目 B 始终选择范围内的最新项目 A 构建?
这里有更多细节......
在 Jenkins 中,项目 A 是使用以下 Maven3 行构建的:
clean pmd:pmd deploy -P buildServer -DversionMajor=1 -DversionMinor=0 -DbuildNumber=$BUILD_NUMBER
在 Jenkins 中,项目 B 是使用以下 Maven3 行构建的:
clean pmd:pmd deploy generate-sources javadoc:jar source:jar -DversionMajor=7 -DversionMinor=0 -DbuildNumber=$BUILD_NUMBER
以下是两个项目的 pom.xml 文件的摘录...
项目A:
<groupId>vod</groupId>
<artifactId>projectA</artifactId>
<version>${versionMajor}.${versionMinor}.${maven.build.timestamp}.${buildNumber}</version>
项目 B:
<groupId>vod</groupId>
<artifactId>projectB</artifactId>
<version>${versionMajor}.${versionMinor}.${maven.build.timestamp}.${buildNum
<dependency>
<groupId>vod</groupId>
<artifactId>projectA</artifactId>
<version>[1.0,2.0)</version>
</dependency>
【问题讨论】: