2011-08-25 103 views
5

我必须在开发和生产中使用不同的log4j.xml和属性文件。我正在使用maven进行建筑和包装。有没有一种方法可以让maven选择dev或prod由POM中的可配置maven属性或传递运行时变量?Dev和prod使用Maven的不同配置文件

感谢, 阿比

回答

6

基于Maven中的配置文件的想法不是最好的,因为这会迫使你运行你的构建几次,这意味着如果你有两个环境,你必须运行你的构建两次,如果你有更多的思考这个。 最好的解决方案是与Maven-Assembly-Plugin一起工作,为单个步骤中的不同环境创建一组工件,这些工件将与分类器截然不同。我做了一个完整的例子here

2

是,使用Maven profiles

使用POM中可用的元素子集(加上一个额外的部分)指定配置文件,并以各种方式触发配置文件。它们在构建时修改POM,并且旨在用于补充集以为一组目标环境提供等效但不同的参数(例如,提供开发,测试中的应用服务器根的路径,以及生产环境)。

2

作为替代profiles,它允许你选择你的构建过程中要么“开发”或“刺”,你可能会考虑使用maven-assembly-plugin这样就可以建立两个“开发”和“刺”每次构建时都要使用组件。

相关问题