1

我将 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 也更新它们?

例子:

-- 父级 -- 模块 1 -- 模块 2

在模块 2 中存在对模块 1 的依赖关系,例如

<dependency>
    <groupId>xyz</groupId>
    <artifactId>module2</artifactId>
    <version>0.0.1-SNAPSHOT</version>
</dependency>

在 release:update-versions 之后,父 pom 和模块被更新,但依赖关系现在仍然引用旧版本。有没有办法更新这个依赖版本?

4

1 回答 1

8

最简单和最好的解决方案(在我看来)是使用:

<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>
于 2013-02-11T08:50:53.633 回答