在java webapp中切换开发和生产

时间:2015-04-21 06:22:47

标签: java intellij-idea

我的团队开发了一个Vaadin网络应用程序。当我们发布生产版本时,我们必须在构建war文件之前手动对几个文件进行一些更改。例如,我们必须更改log4j中的log4j2.xml设置,并在productionMode中将vaadin true设置为web.xml

我们正在使用Intellij IDEA进行开发。我们使用Maven构建webapp

有没有更好的方法来保持两种构建模式,以便我们可以轻松地在生产和开发模式之间切换?

1 个答案:

答案 0 :(得分:4)

如果您打算为每个环境生成不同的可交付成果,那么可行的解决方案就是使用Maven配置文件。

http://maven.apache.org/guides/introduction/introduction-to-profiles.html

如果您为每个配置文件定义了不同的资源集,请说“AVE'”,“UAT'”,“NFT'”等等,您可以然后使用指定的配置文件调用Maven以生成所需的应用程序

mvn clean deploy -P AVE
mvn clean deploy -P UAT

等。

如果您不想保留* .properties和web.xml的不同版本并维护所有这些版本(这将是一种负担并且非常容易出错),您也可以使用配置文件,但结合使用它具有过滤(http://maven.apache.org/plugins/maven-resources-plugin/examples/filter.html),以便在代码中仅保留每个属性,web.xml等的1个副本。通过这种方式,您可以拥有一些属性,例如' productionMode'你提到的取决于你的pom.xml中AVE,UAT,NFT等配置文件中定义的属性。