我不知道你使用什么版本的Tomcat,但是在文件catalina.sh中的Tomcat 7中,可以指定变量CATALINA_OPTS,此变量将传递给jvm.
但是也许设置环境变量不是最佳的方法来达到目标.也许最好将创建单独的“app.properties”文件,并将其包含在applicationContext中,如下所示:
和解决方案catalina.sh
# CATALINA_OPTS (Optional) Java runtime options used when the "start",
# "run" or "debug" command is executed.
# Include here and not in JAVA_OPTS all options, that should
# only be used by Tomcat itself, not by the stop process,
# the version command etc.
# Examples are heap size, GC logging, JMX ports etc.
例:
CATALINA_OPTS = “ – Dfolder =开发”
编辑:
对于Windows应该是像CATALINA_OPTS =“ – Dfolder = Dev”
编辑:
在Spring配置中,您可以像${propertyname}一样使用系统属性,并且还可以包含具有属性定义的文件以及上下文:property-placeholder,并且在该文件中定义的所有属性在配置中也变得可用.
例如,您具有基本属性:config.properties和具有数据库连接设置(DEV.properties,UAT.properties,PROD.properties)的文件集.那么,如何为不同的环境包含不同的属性?它可以通过多种方式完成,例如,在catalina.bat中设置系统属性
set CATALINA_OPTS="-Dbuild=DEV"
并在applicationConfig.xml中
或者,您可以创建不同的构建配置,并在最终WAR中包含每个构建配置的一个属性(DEV,UAT,PROD).在applicationConfig中设置如下: