12

在开发过程中,我们对 maven 模块使用 SNAPSHOT 版本(例如 1.0-SNAPSHOT)。

例如父模块的 Maven 配置:

<groupId>com.mycomp.basemodule</groupId>
<artifactId>base-module</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>base-module</name>
<modules>       
    <module>sub-module1</module>        
    <module>sub-module2</module>        
    <module>sub-module3</module>        
    <module>sub-module4</module>        

</modules>

例如子模块的 Maven 配置:

子模块一:

<parent>
     <groupId>com.mycomp.basemodule</groupId>
      <artifactId>base-module</artifactId>
      <version>1.0-SNAPSHOT</version>
</parent>
<groupId>com.mycomp.sub-module1</groupId>
<artifactId>sub-module1</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>sub-module1</name>

还要考虑其他子模块(2,3,4)的相同配置。

在发布项目/补丁时,我们需要将此 SNAPSHOT 版本更改为实际发布版本。

有一种粗略的方法可以更改版本。我可以访问父模块和所有子模块的每个 pom.xml,并且可以将 SNAPSHOT 版本更改为发布版本。

是否有任何其他最佳实践可以将此 SNAPSHOT 版本更改为公共位置的发布版本,以便我不需要更新所有 pom.xml 文件?

4

2 回答 2

10

我相信,您应该使用maven-release pluginMaven 中的预期方式来解决问题。见:http ://maven.apache.org/guides/mini/guide-releasing.html

正如文档所说:

maven-release 插件的主要目的是提供一种标准机制来在直接开发团队之外发布项目工件。该插件提供了创建发布和相应地更新项目的 SCM 的基本功能。

更新: 似乎您不是第一个有问题的人,请参阅:Maven 版本控制最佳实践 答案似乎很完整。

于 2013-01-30T14:00:20.747 回答
4

更简单的方法:使用maven-version-plugin更新版本,然后以自己的方式准备发布。

于 2013-10-26T05:21:16.630 回答