【发布时间】:2012-03-07 19:23:07
【问题描述】:
我有这样结构的 Maven 多模块项目:
父项目
-- 模块1
-- 模块2
在 parent-pom-project 我有这样的 pom.xml
<modules>
<module>module1</module>
</modules>
...
<profiles>
<profile>
<id>local</id>
<properties>
<prop>local_prop</prop>
</properties>
</profile>
<profile>
<id>test</id>
<modules>
<module>module2</module>
</modules>
<properties>
<prop>test_prop</prop>
</properties>
</profile>
</profiles>
在所有 pom.xml 文件中我都有这样的标签:
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/test/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
在 resource 目录中的 module1 和 module2 中,我有带有这样文本的属性文件:
prop=${prop}
问题是之后
mvn 全新安装
或
mvn clean install -Ptest
甚至
mvn 全新安装 -P 测试
我明白了
prop=local_prop
如果我还构建了构建模块 2 的用户测试配置文件,但使用本地配置文件中的属性。 我使用 Maven 3.0.3。 有人有什么想法吗?
【问题讨论】:
-
您确定没有在任何配置文件节点之外定义属性吗?
-
事实上,我认为您可以尝试在任何配置文件节点之外使用空值定义属性。 -->
-
2 bugske 是的 - 我仔细检查了它。我试试你的第二个想法 - 没有任何改变。
-
您是否正在从您的父模块目录执行
mvn命令? -
嗯,我也遇到了同样的问题:/你找到解决办法了吗??