Maven profiles documentation没有提到这一点,这可能是构建流程设计不佳的标志,但是如果多个配置文件处于 Activity 状态并且它们都定义了相同的属性,是否有解决冲突属性的规则?
我很确定本地声明(在 pom.xml
中)会覆盖 settings.xml
中的声明,对于 colocal 配置文件不太确定
- 文件内的声明顺序重要吗?
- 是否有明确的激活顺序可能很重要?
- 如果通过 CLI (
-Pprofile1,profile2
) 手动激活,顺序是否重要?
谢谢
最佳答案
没有解决冲突发生 - 只是覆盖。 Afaik 的顺序是设置,pom,然后是命令行。对于 pom 和设置文件中的多个配置文件,文件中的顺序也很重要,除此之外,事情因 Maven 版本而异。
我强烈建议您减少对配置文件的使用,这样您就不必担心这些复杂性,并且一定要安装帮助插件。
您还可以在 POM 编辑器的 M2Eclipse 插件中看到 Eclipse 中有效的 pom。同时,这应该对您有所帮助。
并回答您的问题:
是的
是的
是的
所有订单都很重要并且可能导致结果,有时我们只是说“令人惊讶”的结果。
关于java - 如果激活多个配置文件,如何解决冲突的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12477562/