首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >消除Maven POM冗余

消除Maven POM冗余
EN

Stack Overflow用户
提问于 2010-07-08 19:35:52
回答 2查看 3.1K关注 0票数 4

我有一个具有以下配置的父POM

代码语言:javascript
复制
<groupId>com.example</groupId>
<artifactId>parent</artifactId>
<version>1.2-SNAPSHOT</version>

继承自此父POM的每个子项目都具有如下配置:

代码语言:javascript
复制
<parent>
    <groupId>com.amadeus.jcp.ui.skinning.skinning-system</groupId>
    <artifactId>parent</artifactId>
    <version>1.2-SNAPSHOT</version>
</parent>

我希望所有这些项目版本号保持同步。目前,如果我将父项目版本更改为1.3,那么我必须将所有子项目版本更改为1.3。有什么方法可以避免在所有子项目中重复版本号吗?

我尝试将上面的代码替换为

代码语言:javascript
复制
<parent>
    <groupId>com.amadeus.jcp.ui.skinning.skinning-system</groupId>
    <artifactId>parent</artifactId>
</parent>

代码语言:javascript
复制
<parent>
    <groupId>com.amadeus.jcp.ui.skinning.skinning-system</groupId>
    <artifactId>parent</artifactId>
    <version>${project.version}</version>
</parent>

但这两种方法都不管用。我使用的是Maven版本2.1.0。

谢谢,唐

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-07-08 21:37:00

我尝试用(...)替换上面的代码和(...)但这两种方法都不管用。我使用的是Maven版本2.1.0。

不可能。在Maven2.x中,您必须在子模块中声明parent元素,并且parent元素必须包含硬编码的version (您不能省略它,也不能使用属性,请参阅this previous answerMNG-624)。

然而,Maven3.1将支持无版本父元素(请参阅this previous answer)。

同时,一些插件可以使维护变得更容易一些,比如Maven Release PluginVersions Maven Plugin及其versions:setversions:update-child-modules目标。

票数 3
EN

Stack Overflow用户

发布于 2010-07-08 19:44:11

你不应该定义一个版本...在子模块中,但您必须在父定义中给出它...

代码语言:javascript
复制
+--- root
      +--- pom.xml (Parent)
      +--- module1
             +-- pom.xml (child 1)

你也应该在你的孩子中定义一个relativePath ...

代码语言:javascript
复制
<parent>
    <groupId>com.example</groupId>
    <artifactId>parent</artifactId>
    <version>1.2-SNAPSHOT</version>
    <relativePath>../pom.xml</version>
</parent>
<groupId>...</groupId>
<artifactId>...</artifactId>

如果你这样做了,你永远不应该在你的parent...let中手动更改版本号发布插件做的工作,它会改变所有孩子(父母) appropietaley...if中的版本条目你真的需要改变东西,有时使用maven-version-plugin...

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3203088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档