在Spring文件中我有:
<bean id="propertyConfigurer" class="org.myapp.MyConfigurator">
<property name="locations">
<list>
<value>classpath:configuration-${env}.properties</value>
</list>
</property>
</bean>
$ {env}变量在maven的个人资料中定义。 但是当我从eclipse中运行tomcat 6(已发布)中的应用程序时,它看起来并不是maven。那么如何为Tomcat设置变量?
由于
随机化
答案 0 :(得分:6)
答案 1 :(得分:5)
要在tomcat context.xml
中定义可在spring中使用的变量,请将此行添加到context.xml
中的右侧上下文。
<Parameter name="env" value="ABCDEFG" override="false"/>
答案 2 :(得分:2)
Tarlog解决方案可以解决您的问题,但只能在eclipse中解决,如果从eclipse中删除服务器定义,则会丢失定义,每次更改IDE或删除服务器定义时都需要再次添加。
根据您的环境创建shell或bat文件(如runServer.sh/.bat)更好的方法,并将此参数添加到JAVA_OPTS变量中,以便在catalina.sh/.bat运行时调用此变量(startup.sh /.bat里面叫catalina脚本)。您可以在本地,测试和生产环境中使用此方法。
Windows:runServer.bat
set JAVA_OPTS="-Dvariable=value"
tomcat/bin/startup.bat
Linux:runServer.sh
export JAVA_OPTS="-Dvariable=value"
tomcat/bin/startup.sh