私の war ファイルには、test.properties、dev.properties、prod.properties の 3 つのプロパティ ファイルがあります。
私のアプリケーションコンテキストには次のものがあります
<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
コマンド sudo /etc/init.d/tomcat7 start を使用して tomcat を起動します
これは私の変数をロードしません。私はまだ得る
Invalid bean definition with name 'local' defined in class path resource [applicationContext.xml]: Could not resolve placeholder 'env'
私は何を間違っていますか??