我无法从 Maven 模块访问 properties
父部分中定义的属性。事实上,当我启动下面的构建时,warName 是默认的。
这是父 Pom
....
<modelVersion>4.0.0</modelVersion>
<groupId>com.speed.pms</groupId>
<artifactId>PMS-Main</artifactId>
<version>1.0.0</version>
<packaging>pom</packaging>
<name>PMS Main Build Project</name>
<properties>
<context-root>PMS-CUSTOM</context-root>
</properties>
<modules>
<module>../PMS-WEB</module>
</modules>
....
这是模块
...
<parent>
<groupId>com.speed.pms</groupId>
<artifactId>PMS-Main</artifactId>
<version>1.0.0</version>
</parent>
<artifactId>PMS-WEB</artifactId>
<packaging>war</packaging>
<name>PMS-WEB Webapp</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<web.resource.dir>src/main/webapp</web.resource.dir>
</properties>
<build>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
<configuration>
<!-- Context root from parent project -->
<warName>${context-root}</warName>
<webResources>
<resource>
<directory>${web.resource.dir}</directory>
</resource>
</webResources>
</configuration>
</plugin>
....
虽然我可以使用 ${project.parent.arctifactId} 属性。我也尝试 ${project.parent.properties.context-root} 但没有成功。它应该很简单,但我不明白这是我的错误吗?不应该是从模块中的父级继承的属性吗?