我有更新从属同级项目的依赖版本的问题。如何使用版本Maven插件更新从属同级模块的版本
我的简化项目设置如下。
root
|--parent
|--tool-core
|--tool
|--functional-tests
父项目包含所有全局属性和依赖项管理。功能测试取决于工具,而工具取决于工具内核。根目录pom.xml
仅聚合(指定是否包含功能测试)并且父项目是所有项目的父项目。我不知道这是否微不足道,但父母并未包含在聚合中,因为它已经是每个子项目的父项。
现在,我的问题是,如果我改变工具的版本versions:set
。工具版本已更改,但对该工具的任何依赖关系均未更改。我应该怎么做?我已经尝试了或多或少随机的其他目标,并尝试阅读手册。
我已经尝试过使用<dependencyManagement>
部分并在父级版本中使用属性,但这些属性不会更新为新版本。
任何帮助真的很感激。
加成
我得到一个消息 “忽略反应器的依赖:com.tool:工具:罐子:空:1.2.3” 的最好的。这是当我尝试versions:use-latest-releases
。但versions:display-dependency-updates
确实显示“本地依赖项”上有更新(功能测试取决于工具)。
更新
看来,Maven的做新版本从储存库,包括当地一个现在,我想它似乎很明显查找。但是,这意味着必须在更新依赖关系之前将该工具构建并安装到本地存储库。
我只是想知道这是否是作为自己的项目进行集成测试的正确方法。我希望能够立即更新版本。
更新
基本上我有以下设置。 tool
的functional-tests
版本依赖项由parent
项目定义。我省略了tool-core
,因为它可以作为tool
的一部分进行处理。
根:
<groupId>com.somecompany</groupId>
<artifactId>x-reactor</artifactId>
<packaging>pom</packaging>
<version>1.0</version>
<profiles>
<profile>
<id>cli</id>
<modules>
<module>tool</module>
</modules>
</profile>
<profile>
<id>deploy</id>
<modules>
<module>tool</module>
<module>functional-tests</module>
</modules>
</profile>
</profiles>
父:
<groupId>com.somecompany</groupId>
<artifactId>x-parent</artifactId>
<packaging>pom</packaging>
<version>1.0</version>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.somecompany</groupId>
<artifactId>tool</artifactId>
<version>3.2.3</version>
</dependency>
</dependencies>
</dependencyManagement>
工具:
<parent>
<groupId>com.somecompany</groupId>
<artifactId>x-parent</artifactId>
<version>1.0</version>
<relativePath>../parent/pom.xml</relativePath>
</parent>
<groupId>com.somecompany</groupId>
<artifactId>tool</artifactId>
<packaging>jar</packaging>
<version>3.2.3</version>
官能测试:
<parent>
<groupId>com.somecompany</groupId>
<artifactId>x-parent</artifactId>
<version>1.0</version>
<relativePath>../parent/pom.xml</relativePath>
</parent>
<groupId>functional-tests</groupId>
<artifactId>functional-tests</artifactId>
<version>0.1</version>
<packaging>pom</packaging>
<dependencies>
<dependency>
<groupId>com.somecompany</groupId>
<artifactId>tool</artifactId>
</dependency>
</dependencies>
你可以给你不同模块的poms片段......(只有模块的父母部分和模块部分)。 – khmarbaise 2010-08-31 07:42:06