4

我正在寻找一种管理我的 Maven 项目版本的可能性。

我的 maven 项目中有一些 maven 模块,其中一些模块依赖于这些模块中的其他模块。

我想为每个模块或依赖项定义全局使用的版本。

这有可能吗?

就像是

globalVersion=2.0

<groupId>test</groupId>
<artifactId>test</artifactId>
<version>${globalVersion}</version>

但正如我所说,不是在每个单独的 pom 中。我的意思是我的 maven 模块中的所有 pom 都是全局的。

4

1 回答 1

5

(我假设您的所有模块都有一个通用的父 pom。)

在父 pom 中定义一个属性:

<properties>
    <globaleVersion>1.0.0</globalVersion>
</properties>

<dependencyManagement>并在父 pom 中定义一个部分:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>test</groupId>
            <artifactId>test</artifactId>
            <version>${globalVersion}</version>
        </dependency>
        <dependency>
            <groupId>A</groupId>
            <artifactId>A</artifactId>
            <version>${globalVersion}</version>
        </dependency>
    </dependencies>
 </dependencyManagement>

并且在你的模块中定义依赖而不指定版本(maven会从父的dependencyManagement部分找到它)

     <dependencies>
        <dependency>
            <groupId>test</groupId>
            <artifactId>test</artifactId>
        </dependency>
        <dependency>
            <groupId>A</groupId>
            <artifactId>A</artifactId>
        </dependency>
    </dependencies>
于 2013-03-15T12:50:22.697 回答