根据当前模块激活不同的Maven配置文件?
我们有一个多模块构建模块,使用不同的技术,如Java和Flex。 基于当前编译的模块是否可以激活不同的配置文件?
我试着用激活像
<profile>
<id>flex</id>
<activation>
<file>
<exists>${basedir}/src/main/flex</exists>
</file>
</activation>
...
</profile
但它没有用,尽管在Maven文档中记录了$ {basedir}的使用(这是Maven中的一个错误)。 基于当前模块有不同的激活有不同的可能性吗? 或者,Maven是否只允许激活所有模块的配置文件或根本不激活?
对于像我这样的读这个问题寻找答案的人来说,这个用例现在可以在Maven 3中使用。
在早期版本的3中有一个影响此功能的bug(请参阅http://jira.codehaus.org/browse/MNG-2363),但它对我的正确使用Maven 3.0.4的作用。
经过一些更多的研究后,我终于得出这样的结论:目前的Maven版本(2.1.0)中有两个原因是不可能的:
在2.2.1中,配置文件被继承,但$ {basedir}问题仍然存在。 我在同一条船上 - 我需要根据给定项目中文件的存在来激活配置文件。 我的孩子建立单独运行就好(继承的配置文件激活本地文件存在),但如果我从顶级父母运行生成,他们失败,因为没有找到文件。
链接地址: http://www.djcxy.com/p/62117.html上一篇: Activate different Maven profiles depending on current module?