5

我必须在开发和生产中使用不同的 log4j.xml 和属性文件。我正在使用 Maven 进行构建和打包。有没有办法让 maven 通过 POM 中的可配置 maven 属性或传递运行时变量来选择 dev 或 prod?

谢谢,阿比

4

3 回答 3

6

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

于 2011-08-25T18:54:55.420 回答
2

是的,使用Maven 配置文件

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

于 2011-08-25T10:49:42.730 回答
2

作为配置文件的替代方案,它允许您在构建期间选择“dev”“prod”,您可以考虑使用maven-assembly-plugin以便您每次都可以构建“dev”和“prod”程序集建造。

于 2011-08-25T13:46:24.740 回答