2012-07-31 15 views
0

我的war文件有3个属性文件:test.properties,dev.properties和prod.properties。当应用程序部署在tomcat7上时访问环境/系统varilable

我的应用程序环境具有以下

<bean id="local" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
     <property name="locations"> 
     <list><value>classpath:${env}.properties</value></list> 
     </property> 
     <property name="ignoreResourceNotFound" value="false" /> 
     <property name="ignoreUnresolvablePlaceholders" value="false" /> 
     <property name="searchSystemEnvironment" value="true" /> 
    </bean> 

我做了以下

  1. 设置tomcat7/conf目录/ web.xml中有以下

    <env-entry> 
    <env-entry-name>env</env-entry-name> 
    <env-entry-type>java.lang.String</env-entry-type> 
    <env-entry-value>dev</env-entry-value> 
    

  2. 设置在tomcat7/CONF/context.xml的下面

    <Environment name="env" value="dev" type="java.lang.String" override="false"/> 
    
  3. 集CATALINA_OPTS和JAVA_OPTS

    echo $CATALINA_OPTS = -Denv=dev 
    echo $JAVA_OPTS =  -Denv=dev 
    

我使用命令启动tomcat,须藤/etc/init.d/tomcat7开始

这不加载任何变量。我仍然得到

Invalid bean definition with name 'local' defined in class path resource [applicationContext.xml]: Could not resolve placeholder 'env' 

我在做什么错?

回答

1

我能够在tomcat7/conf目录

ENV =开发

0

升级设置变量catalina.properties春3.1来解决这个问题,并使用Bean的配置文件。

相关问题