有一个多模块项目。在孩子内部,我需要做一些复杂的事情(部署到应用程序服务器的集成测试等等)。所以有一个集成测试孩子,从这个模块我需要父模块的根才能到达其他模块。我不想使用“..”。在 integrationtest POM 中有一个属性:
<properties>
<main.basedir>${project.parent.basedir}</main.basedir>
...
</properties>
还有一个antrun插件,内容如下:
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>render-parameter-sql</id>
<phase>validate</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<echoproperties/>
</tasks>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
在输出中,main.basedir 没有被解析:
main:
[echoproperties] #Ant properties
[echoproperties] #Thu Oct 28 09:32:13 CEST 2010
[echoproperties] ant.core.lib=C\:\\Users\\gaborl\\.m2\\repository\\org\\apache\\ant\\ant\\1.8.1\\ant-1.8.1.jar
...
[echoproperties] main.basedir=${project.parent.basedir}
[echoproperties] maven.dependency.antlr.antlr.jar.path=C\:\\Users\\gaborl\\.m2\\repository\\antlr\\antlr\\2.7.6\\antlr-2.7.6.jar
在变得非常生气之后,我决定问你如何解决这个问题......