stackoverflow.com で同様の問題を読んだことがありますが、解決策はどれも役に立ちませんでした。私が使用する次の構成(mavenプロジェクト構造):src/main/resources/properties/app.properties
ファイル
#possible values: dev test prod
mode: dev
Spring 構成の場合:
<context:property-placeholder location="classpath:properties/app.properties"/>
<import resource="classpath:/spring/db/${mode}-datasource-config.xml"/>
の値に基づいて${mode}
、対応するデータソース構成ファイルをインポートします。
コマンドを使用して組み込みの tomcat7 を実行するとmvn clean install tomcat7:run
、エラーが発生します。
10, 2013 5:52:29 PM org.apache.catalina.core.StandardContext loadOnStartup
SEVERE: Servlet /SpringWebFlow threw load() exception
java.lang.IllegalArgumentException: Could not resolve placeholder 'mode' in string value "classpath:/spring/db/${mode}-datasource-config.xml"
target/classes/properties/app.properties
ファイルが存在します。
私は IntelliJ IDEA を使用しています。エディタで「${mode}」をクリックする<import resource="classpath:/spring/db/${mode}-datasource-config.xml"/>
と、プロパティ ファイルでその値を確認できます。また、エディター自体${mode}
が灰色に変わりdev
、プロパティ値を認識できることを示します。エディターで次のように表示されます。<import resource="classpath:/spring/db/dev-datasource-config.xml"/>
エラーが発生する理由と解決方法を教えてください。