Tomcat + Spring和环境变量

时间:2011-10-26 14:26:36

标签: java eclipse spring tomcat maven

在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设置变量?

由于

随机化

3 个答案:

答案 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