Maven - 控制父 pom 和子 pom 以继承父 pom 版本
Maven - versioning parent pom and child pom to inherit parent pom version
我正在使用 Maven 3.x 我的父 pom 和子 pom 中有以下结构。
父 pom
<groupId>com.mygoogle.sample</groupId>
<artifactId>workorder</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
<properties>
<project.version>1.0-SNAPSHOT</project.version>
</properties>
我有一个子 pom,如下所示
<parent>
<groupId>com.mygoogle.sample</groupId>
<version>${project.version}</version>
<artifactId>workorder</artifactId>
</parent>
<artifactId>workorder-client</artifactId>
<packaging>jar</packaging>
当我使用 mvn install 构建我的工件时,
我看到在我的 .m2 文件夹中构建了 jars,但是 project.version 没有替换为实际版本,即 1.0-SNAPSHOT。
我的 .m2 存储库中每个工件的父 pom and/or 子 pom 是否具有指定的版本,还是 project.version
我什至应该在我的父 pom.xml 中将 project.version 指定为 属性 吗? Maven 文档声明 project.version 默认可用。我也尝试 mvn install post 在我的父 pom 中删除 project.version 属性 但生成的工件在我的 .m2 文件夹中仍然具有 {project.version} 的版本而不是实际的版本
如何在我的父 pom 中设置一个版本并让我的所有子 pom 具有相同的版本。例如,我想在 workorder pom 中设置一个版本,workorder-client pom 也应该继承相同的版本。
你 parent pom 应该是这样的:
<groupId>com.mygoogle.sample</groupId>
<artifactId>workorder</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
你的 child pom 应该是这样的:
<parent>
<groupId>com.mygoogle.sample</groupId>
<version>1.0-SNAPSHOT</version>
<artifactId>workorder</artifactId>
</parent>
<artifactId>workorder-client</artifactId>
<packaging>jar</packaging>
这将有助于顺利维护 parent 和 child(s) 之间的版本控制。
下次当你想要更改版本时,只需在指向 parent pom 目录的同时使用以下命令即可。
mvn versions:set -DnewVersion=2.0-SNAPSHOT
我正在使用 Maven 3.x 我的父 pom 和子 pom 中有以下结构。
父 pom
<groupId>com.mygoogle.sample</groupId>
<artifactId>workorder</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
<properties>
<project.version>1.0-SNAPSHOT</project.version>
</properties>
我有一个子 pom,如下所示
<parent>
<groupId>com.mygoogle.sample</groupId>
<version>${project.version}</version>
<artifactId>workorder</artifactId>
</parent>
<artifactId>workorder-client</artifactId>
<packaging>jar</packaging>
当我使用 mvn install 构建我的工件时, 我看到在我的 .m2 文件夹中构建了 jars,但是 project.version 没有替换为实际版本,即 1.0-SNAPSHOT。
我的 .m2 存储库中每个工件的父 pom and/or 子 pom 是否具有指定的版本,还是 project.version
我什至应该在我的父 pom.xml 中将 project.version 指定为 属性 吗? Maven 文档声明 project.version 默认可用。我也尝试 mvn install post 在我的父 pom 中删除 project.version 属性 但生成的工件在我的 .m2 文件夹中仍然具有 {project.version} 的版本而不是实际的版本
如何在我的父 pom 中设置一个版本并让我的所有子 pom 具有相同的版本。例如,我想在 workorder pom 中设置一个版本,workorder-client pom 也应该继承相同的版本。
你 parent pom 应该是这样的:
<groupId>com.mygoogle.sample</groupId>
<artifactId>workorder</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
你的 child pom 应该是这样的:
<parent>
<groupId>com.mygoogle.sample</groupId>
<version>1.0-SNAPSHOT</version>
<artifactId>workorder</artifactId>
</parent>
<artifactId>workorder-client</artifactId>
<packaging>jar</packaging>
这将有助于顺利维护 parent 和 child(s) 之间的版本控制。
下次当你想要更改版本时,只需在指向 parent pom 目录的同时使用以下命令即可。
mvn versions:set -DnewVersion=2.0-SNAPSHOT