将环境变量传递给多个配置文件的最佳方法

时间:2015-06-08 08:22:51

标签: java tomcat environment-variables

在部署应用程序时(在tomcat服务器上使用Spring框架的Java),我必须在打包.war之前手动修改几个配置文件,具体取决于目标环境(dev,prod,qualif,...)

这些修改现在有三个文件(数据库配置文件,新的文件配置文件和另一个自定义配置文件)。但随着应用程序的增长,它可能会影响更多文件。

我想知道在启动应用程序时是否有更好的方法可以自动修改这些文件。也许在命令行中使用自定义参数?我不确定这样做的正确方法是什么。

2 个答案:

答案 0 :(得分:1)

使用Maven个人资料并按照here所述过滤文字资源:

<profiles>
 <profile>
  <activation>
   <property>
    <name>environment</name>
    <value>test</value>
   </property>
  </activation>
 </profile>
</profiles>

答案 1 :(得分:0)

我不知道什么是“最佳方式”。但我知道两种选择。

您可以外部化配置文件,并从应用程序中找到它们。这样,您可以按照自己的方式修改属性,而无需在此之后重新部署应用程序。

您只需将文件夹添加到类路径中。

除此之外,在Spring there is the possibility to use Profiles.

通过这种方式,您可以定义属性并从特定环境中的拟合配置文件开始。