我正在使用Maven 3.x,我的父pom和child 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>
Run Code Online (Sandbox Code Playgroud)
我有一个孩子pom如下
<parent>
<groupId>com.mygoogle.sample</groupId>
<version>${project.version}</version>
<artifactId>workorder</artifactId>
</parent>
<artifactId>workorder-client</artifactId>
<packaging>jar</packaging>
Run Code Online (Sandbox Code Playgroud)
当我使用mvn install构建我的工件时,我看到jars在我的.m2文件夹中构建,但project.version没有替换为实际版本,即1.0-SNAPSHOT.
我的.m2存储库中的每个工件的父pom和/或子pom是否具有指定的版本,或者它是project.version
我是否应该将project.version指定为父pom中的属性.maven文档声明project.version可以通过defualt获得.我也试过mvn install post删除了我的父pom中的project.version属性但是生成的工件仍然在我的.m2文件夹中的版本为{project.version}而不是实际的版本
如何在我的父pom中设置版本并让我所有的孩子pom具有相同的版本.例如,我想在workorder pom中设置一个版本,而workorder-client pom也应该继承相同的版本.
你父母的pom应该是这样的:
<groupId>com.mygoogle.sample</groupId>
<artifactId>workorder</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
Run Code Online (Sandbox Code Playgroud)
你的孩子应该是这样的:
<parent>
<groupId>com.mygoogle.sample</groupId>
<version>1.0-SNAPSHOT</version>
<artifactId>workorder</artifactId>
</parent>
<artifactId>workorder-client</artifactId>
<packaging>jar</packaging>
Run Code Online (Sandbox Code Playgroud)
这将有助于平稳地维护父母和孩子之间的版本控制.
下次要更改版本时,只需在指向父pom目录时使用以下命令.
mvn versions:set -DnewVersion=2.0-SNAPSHOT
归档时间: |
|
查看次数: |
3549 次 |
最近记录: |