私はJava Webプロジェクトで働いています。「jdbc.properties」および「log4j.properties」ファイルのフォルダーは、testing、demo、および release で値が異なるため、環境に応じて変更する必要があります。
次のフォルダーとサブフォルダーがあります。
c:\myProject\conf\dev c:\myProject\conf\test c:\myProject\conf\demo
これらの各フォルダーに異なる jdbc.properties および log4j.properties ファイルを配置する必要があります
c:\myProject\conf\dev\log4j.properties c:\myProject\conf\dev\jdbc.properties
c:\myProject\conf\test\log4j.properties c:\myProject\conf\test\jdbc.properties
c:\myProject\conf\demo\log4j.properties c:\myProject\conf\demo\jdbc.properties
3 つのプロジェクトは同じサーバーと同じ Apache にあります (これは Web プロジェクトです)。
最初に、Windows システム変数を使用して親フォルダー (c:\myProject) を取得するように変更を加えました。そのために、Spring appContext ファイルでこれを作成しました。
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location">
<value>file:${PARENT_FOLDER}/conf/dev/jdbc.properties</value>
</property>
</bean>
「PARENT_FOLDER」は、Windows環境変数/システム変数で定義されています
これらの変更は正常に機能します。
しかし、ご覧のとおり、私は常に「/conf/dev」のファイルを探しています
パスの「dev」部分を動的にする必要があります。
3 つの環境が同じサーバーにデプロイされているため、Windows 環境変数/システム変数を使用できません。
web.xml で「プロパティ」(を使用) を使用しようとしていますが、Spring appContext ファイルでプロパティを見つける方法がわかりません。
プロパティを次のように定義します。
<env-entry>
<env-entry-name>ENVIRONMENT</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>Dev</env-entry-value>
</env-entry>
しかし、Spring の "ENVIRONMENT" プロパティにアクセスする方法がわかりません
どうすればいいのかわからない。私は少し絶望的です
誰かが私を助けることができますか?
私の貧弱な英語に感謝し、申し訳ありません