在maven多模块项目中,有一个子模块需要从外部父项目继承。因此,它不能像其他子模块一样从父模块继承,并且那些子模块也不能继承该外部父模块(因此不能选择使外部项目成为整个层次结构的父模块)。

有没有办法消除此类模块与层次结构其余部分之间的属性重复?

父级 pom.xml

    <properties> 
        <foo>bar</foo> 
    </properties> 
 
    <modules> 
        <module>child</module> 
        <module>stepchild</module> 
    </modules> 

pom.xml

    <parent> 
        <groupId>my</groupId> 
        <artifactId>parent</artifactId> 
        <version>1.0-SNAPSHOT</version> 
        <relativePath>../pom.xml</relativePath> 
    </parent> 
    <description>foo can be used: ${foo}</description> 

继子 pom.xml

    <parent> 
        <groupId>external</groupId> 
        <artifactId>parent</artifactId> 
        <version>35</version> 
        <relativePath/> 
    </parent> 
    <description>foo does not get substituted: ${foo}</description> 

请您参考如下方法:

除了其他用户在上面的评论中发现的所有问题之外,您还可以使用可重用文件“my.properties”来设置属性,其中包含 foo=酒吧

并添加到maven:

<build>     
    <plugins> 
      <plugin> 
        <groupId>org.codehaus.mojo</groupId> 
        <artifactId>properties-maven-plugin</artifactId> 
        <version>1.0-alpha-1</version> 
        <executions> 
          <execution> 
            <phase>initialize</phase> 
            <goals> 
              <goal>read-project-properties</goal> 
            </goals> 
            <configuration> 
              <files> 
                <file>${basedir}/../project-parent/my.properties</file> 
              </files> 
            </configuration> 
          </execution> 
        </executions> 
      </plugin> 
   </plugins> 


评论关闭
IT源码网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!