使用Maven在relativePath上使用父pom中指定的属性解析父版本

时间:2015-08-08 04:41:07

标签: git maven-3

在处理大型分层Maven项目和Git分支时,处理git合并非常困难(因为poms可能有不同的版本)。当你在回购中拥有200多个Maven项目时,这就更加困难了。

有没有办法在顶级父级中指定版本并将其继承到其他子父级和模块中?

例如,具有以下简单结构

- parent
|- pom.xml
|- child
   |-pom.xml

我能够使用以下父母和子pom文件来使其正常工作

父母:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.coderplus</groupId>
  <artifactId>parent</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>pom</packaging>
  <properties>
  <master.version>${project.version}</master.version>
  </properties>
  <modules>
    <module>child</module>
  </modules>
</project>

儿童pom:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>com.coderplus</groupId>
    <artifactId>parent</artifactId>
    <relativePath>../pom.xml</relativePath>
    <version>${master.version}</version>
  </parent>
  <artifactId>child</artifactId>
</project>

(在Maven 3.3.3上测试)

使用此方法是否存在任何潜在问题(可能是maven-release-plugin相关问题)?

0 个答案:

没有答案