Naz*_*zar 13 java maven-3 maven
我有Maven多模块项目,具有这样的结构:
家长聚甲醛项目
- module1
- module2
在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>
Run Code Online (Sandbox Code Playgroud)
在所有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>
Run Code Online (Sandbox Code Playgroud)
在资源目录中的module1和module2,我有包含这样文本的属性文件:
prop=${prop}
Run Code Online (Sandbox Code Playgroud)
问题是之后
mvn clean install
要么
mvn clean install -Ptest
甚至
mvn clean install -P test
我明白了
丙= local_prop
如果我还构建了构建模块2的用户测试配置文件,但是从本地配置文件中使用了属性.我使用Maven 3.0.3.有人有什么想法吗?
您可以尝试使用mvn help:effective-pom -Ptest命令查看构建中使用的参数.
有关详细信息,请参阅http://maven.apache.org/plugins/maven-help-plugin/plugin-info.html.
${basedir}在资源目录前面添加一个:
<directory>${basedir}/src/main/resources</directory>
这应该可以解决您的问题。我的解释是,如果您是从顶层构建的,那么在多模块项目中,它无法正确选择路径(对于子模块而言)。因此,在尝试过滤时,它将应用到其他目录(实际的根级聚合器),而不是子目录。
希望对您有所帮助。
我解决了卸载当前 eclipse 的 Maven 插件的问题并使用另一个插件。现在我使用这个: - Maven 集成:http://m2eclipse.sonatype.org/sites/m2e - WTP 的 Maven 集成:http://m2eclipse.sonatype.org/sites/m2e-extras/
早期我使用的是这个http://download.eclipse.org/technology/m2e/releases/。我无法解释这种行为,但可能是插件更改了某些配置。
| 归档时间: |
|
| 查看次数: |
23782 次 |
| 最近记录: |