我正在使用maven 3.0.4与cvs和jenkins结合使用。
我有一个带有主pom和一些模块的多模块项目。
对于正确的版本控制,我在jenkins中设置了一些环境变量。
第一步是我在jenkins中有一个执行maven目标的预构建步骤:
--batch-mode release:update-versions -DdevelopmentVersion=${ACTUAL_VERSION}${BUILD_NUMBER}-SNAPSHOT
现在maven正在更新我父pom的版本以及从模块到父pom的连接。这一切都运行正常,但我有一些内部依赖关系模块之间没有更新。我怎么能强迫maven更新它们呢?
示例:
- 父 - Module1 - Module2
在模块2中,存在对module1的依赖性,例如
<dependency>
<groupId>xyz</groupId>
<artifactId>module2</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
发布后:更新版本的父pom和模块已更新,但依赖项现在仍然引用旧版本。有没有办法更新这个依赖版本?
答案 0 :(得分:7)
最简单和最好的解决方案(在我看来)是使用:
<dependency>
<groupId>xyz</groupId>
<artifactId>module2</artifactId>
<version>${project.version}</version>
</dependency>
而不是硬编码版本。也可以使用以下内容:
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>module2</artifactId>
<version>${project.version}</version>
</dependency>