使用maven版本插件处理依赖项版本

时间:2015-07-29 07:45:26

标签: java maven version pom.xml

我有一个项目pom和一个父pom。父pom定义依赖关系如下:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.mycode/groupId>
            <artifactId>common</artifactId>
            <version>${project.version}</version>
        </dependency>
    </dependencies>
</dependencyManagement>

我的项目pom继承了父项并定义了依赖项。

<parent>
    <groupId>au.com.truelocal</groupId>
    <artifactId>truelocal-parent</artifactId>
    <version>develop</version>
</parent>
<dependencies>
    <dependency>
        <groupId>com.mycode</groupId>
        <artifactId>common</artifactId>
    </dependency>
</dependencies>

我曾经以这种方式使用Maven构建而没有问题。

我现在想要开始在父,普通和项目中使用不同的版本。

我将使用maven版本插件来设置我的版本。

我正在成功设置父版本和版本,但是,maven一直在寻找错误版本的common。例如。如果我的项目正在构建为1.0.0-4版本,那么它会查找common-1.0.0-4,但实际上我需要它来获取最新版本的common,而不是例如1.0.0-23。

我可以使用版本插件来调整我的依赖版本吗?我如何使它只适用于我可能拥有的普通而非其他依赖?

1 个答案:

答案 0 :(得分:0)

mvn versions:set(我想这就是你已经完成的)设置项目的版本,分别是作为多模块项目一部分的项目版本。

它没有触及依赖项的版本,它们是在<dependencyManagement>内的父pom或<dependencies>内配置的。

您可以通过多种方式调整依赖项版本:mvn versions:display-dependency-updatesmvn versions:use-latest-releasesmvn versions:use-latest-snapshots

使用mvn versions:helpmvn versions:help -Ddetail=true -Dgoal=use-latest-snapshots获取更多信息。