2013-06-21 59 views
1

我们有多个多模块项目设置即:Maven的发布插件多模块项目 - 更新版本的依赖

> Proj1 
>  parent 
>  mod1 
>  mod2 
>  Proj2 
>  parent 
>  mod1 
>  mod2 

... 

Proj2取决于Proj1。这样一来,为的pom.xml的Proj2部分将

>  <dependencies> 
>  .... 
>  <dependency> 
>  <groupId>${project.groupId}</groupId> 
>  <artifactId>ABCXYZ</artifactId> 
>  <version>${Proj1.version}</version> 
>  </dependency> 
>  </dependencies> 
>  <properties> 
>  <Proj1.version>1.0.0.RELEASE</Proj1.version> 
>  </properties> 

现在的问题是,是否有可能使用的Maven插件发布对我来说,自动化这个Proj2释放,使得Proj1新发布的拾取并替换为<Proj1.version>标签。当我尝试了常规的mvn release:prepare-with-pom时,我得到了依赖关系更新的提示,但是当我输入新版本时,它将其替换为<version>标记,这是不需要的。

感谢任何输入

回答

2

你可能有一个看向versions-maven-pluginupdate-properties目标。 我有一段时间没有使用它,它工作正常。

您发布的工作流程是:

  • 发布Proj1
  • 更新Proj2<Proj1.version>使用的版本,Maven的插件
  • 提交Proj2
  • 发布Proj2
+0

谢谢Gillaume。我有这个念头。我觉得似乎有点麻烦和风险。我希望Maven发布插件有一个这样做的方式,因为它似乎是一个常见的问题需要解决。 – user1111871

+0

另外,我意识到,即使我这样做,释放插件上的prepare-with-pom目标仍然会提示我使用Proj1的版本,并替换依赖项的''标记,从而为其提供硬编码值。所以这个问题依然存在我猜我们是否可以在maven release plugin中使用上面的设置。 – user1111871

+0

我不知道如何设置你的''标签,但是如果一切正确配置,你就不必使用'release:prepare-with-pom'目标。只需运行'mvn -B版本:准备发布:执行'来发布一个项目(可能有一些选项取决于您的设置)。 '-B'用于不提示版本的批处理模式。 –

相关问题