6

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"/>

エラーが発生する理由と解決方法を教えてください。

4

2 に答える 2

2

このプロパティ ファイル形式は有効ですか? には次のコンテンツを使用する必要があると思いますapp.properties

#possible values: dev test prod
mode=dev
于 2013-05-16T13:29:48.630 に答える