我有两个项目,即 Abc 和 DEF。现在项目 DEF 具有项目 Abc 的依赖关系。每天我们使用运行 Jenkins 构建。项目 Abc 工件将部署到 Nexus。项目 DEF 必须使用由项目 Abc 创建的 nexus 目录中的最新快照。
我不应该每次都更改项目 DEF pom.xml 文件以从项目 Abc 中获取最新版本。我怎样才能实现这个自动化过程。
顺便说一句,我buildnumber-maven-plugin
在项目 Abc 中使用了自动版本增量。
我假设您在 DEF 的 pom.xml 中有类似的内容
<dependency>
<groupId>some.group.id</groupId>
<artifactId>Abc</artifactId>
<version>1.00.000-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
这样,只要在 Jenkins 中将 Abc 和 DEF 都配置为 Maven-Jobs,CI-Server 应该在每次构建 Abc 的 SNAPSHOT 时注意到并因此触发新的 DEF 构建(当然,除非有人在CI-Server 正在构建 SNAPSHOT 并将其部署到 Nexus 存储库,这不应该发生。)
如果您想强制始终使用 Nexus 存储库中的最新快照,您可以添加 Option -U 作为 Maven 选项。