我的war 文件有3 个属性文件:test.properties、dev.properties 和prod.properties。
我的应用程序上下文具有以下内容
<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>
我做了以下
在 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>
在 tomcat7/conf/context.xml 中设置以下内容
<Environment name="env" value="dev" type="java.lang.String" override="false"/>
设置 CATALINA_OPTS 和 JAVA_OPTS
echo $CATALINA_OPTS = -Denv=dev echo $JAVA_OPTS = -Denv=dev
我使用命令启动tomcat,sudo /etc/init.d/tomcat7 start
这不会加载我的任何变量。我仍然得到
Invalid bean definition with name 'local' defined in class path resource [applicationContext.xml]: Could not resolve placeholder 'env'
我究竟做错了什么??