这是一个稍微不同的版本,这个以前的问题,因为我有独立的多模块和家长的POM:In a Maven project, how can I automatically update the version all child modules, plus the parent?Maven的版本
我试图更新我的POM去从开发快照版本到发布版本号。我将这个问题用Google搜索了一遍,尝试了版本和版本插件,但似乎没有任何东西能够处理我相当简单的设置。
下面发布了Maven最佳实践,并且在我可以避免的时候尽量不要复制信息,所以我最终得到了我的多模块项目的结构。 有一个由公共pom-parent.xml定义的单一版本;和B取决于A.
我觉得有点令人惊讶的是,标准插件无法处理似乎是一个相当基本的设置,我错过了什么?
我想出了变通办法中没有一个是完全令人满意:
定义产品版本为一个属性是有点片状,在同一个模块的源可以得到,因为一个用户设置不同的版本。 xml或其他技巧
合并根目录pom.xml和pom-parent.xml并将目前在根目录中保留的产品范围构建步骤移到专用模块中;并希望标准插件将工作...没有尝试过。
有什么建议吗?
根/ POM-parent.xml:下面
<project...>
<groupId>acme</groupId>
<artifactId>ParentPom</artifactId>
<packaging>pom</packaging>
<version>1.0.0-SNAPSHOT</version>
根/ pom.xml的所有的多金属氧酸盐的父:多模块项目A和B作为子模块
<project ...>
<parent>
<groupId>acme</groupId>
<artifactId>ParentPom</artifactId>
<version>1.0.0-SNAPSHOT</version>
</parent>
<groupId>acme</groupId>
<artifactId>Product</artifactId>
<packaging>pom</packaging>
<modules>
<module>A</module>
<module>B</module>
</modules>
root/A/pom.xml:
<project ...>
<parent>
<groupId>acme</groupId>
<artifactId>ParentPom</artifactId>
<relativePath>../parent-pom.xml</relativePath>
<version>1.0.0-SNAPSHOT</version>
</parent>
<groupId>acme</groupId>
<artifactId>A</artifactId>
<packaging>jar</packaging>
root/B/pom.xml:
<project ...>
<parent>
<groupId>acme</groupId>
<artifactId>ParentPom</artifactId>
<relativePath>../parent-pom.xml</relativePath>
<version>1.0.0-SNAPSHOT</version>
</parent>
<groupId>acme</groupId>
<artifactId>B</artifactId>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>acme</groupId>
<artifactId>A</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
</dependencies>
我已经分析了“其他默认设置”,这不需要单独的项目,我只需要一个pom-parent.xml。当在该父POM中定义版本时,发布插件将不起作用,这是我避免在每个模块中复制的方式。 – franck102 2012-07-13 13:59:29
你说的是一个pom-parent.xml,这是我提到的root/pom.xml没有的。另一个公司的pom必须是一个单独的项目,将其用作root/pom.xml中的父项。该版本在父pom(root/pom.xml)中仅定义一次,并在父引用中的模块中使用。 – khmarbaise 2012-07-13 14:16:13
我想我明白你的建议,相当于“将产品范围的构建步骤转移到单独的模块”,正如我最初提到的那样,不是吗?因为这些步骤不能在root/pom.xml中生存,如果那个pom是每个模块pom的父亲......也许这是正确的做法,我会试试看 - 谢谢! – franck102 2012-08-03 17:07:03