使用Maven的dev和prod的不同配置文件

时间:2011-08-25 10:44:01

标签: java-ee maven-2 maven appfuse

我必须使用不同的log4j.xml和属性文件,这些文件将在Dev和Production中使用。我正在使用maven进行建筑和包装。有没有办法让maven在POM中通过可配置的maven属性选择dev或prod,或者传递一个运行时变量?

谢谢, 阿比

3 个答案:

答案 0 :(得分:6)

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

答案 1 :(得分:2)

是的,请使用Maven profiles

  

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

答案 2 :(得分:2)

作为profiles的替代方案,允许您在构建过程中选择 “dev”或“prod”,您可以考虑使用maven-assembly-plugin以便您每次构建时都可以构建“dev”和“prod”程序集。