如果您使用Maven2作为包含具有相同版本号的许多工件的项目的构建系统,则生成的构建版本将散布在所有pom.xml中。它们中的许多甚至两次 - 在人造物本身的版本标签和父版本标签中。因此,您必须在每个版本交换机上更改并检入所有pom.xml的新版本。这有点令人讨厌,特别是如果您必须并行编写几个错误修复和开发版本。有没有办法解决这个问题?没有散布版本号的maven项目的层次结构
CLARIFICATION:我的问题是关于在源代码管理系统中随着时间的推移,每一个pom.xml的许多版本只有pom的版本号和/或父pom的版本号不同。理想情况下,只需要在添加依赖关系或其他任何东西时更改pom。
例如,您有一个项目,包括工件foo-pom(父pom),foobar-jar,foobaz-jar和foo-war。在第一个版本中,版本是1.0 - 它出现在每个pom.xml中。在第二个版本中,版本是1.1 - 它再次出现在每个pom.xml中。所以你必须改变每个pom.xml - 如果你经常发布,这很烦人。
更新:如果您认为这很重要:不必指定父版本已被考虑。请转到maven JIRA issue并投票选出它,以使其更受关注,并且更有可能在即将发布的版本中添加为增强功能。您需要为此创建/拥有JIRA登录。
有another Stackoverflow Question这基本上是一样的问题。
这就是我们正在使用的模式 - 除了发布插件。我想知道是否可以以某种方式避免将父版本放在每个pom.xml中。但是,似乎你必须与源代码控制中的许多版本一起生活,这些版本只有父版本才有所不同。 – 2009-01-06 15:15:53
我认为这种方法可以用Maven版插件补充:http://mojo.codehaus.org/versions-maven-plugin 它可以自动增加子项目中的parent.version标签;请参阅版本:update-child-modules目标。 – Dan 2009-05-13 16:38:45