2016-10-09 13 views
1

私は外部ライブラリをインポートするSpring Bootアプリケーションを持っています。私はimportした依存関係のspring.xmlを読んでいます。私が定義していない "propDir"を探しているので、エラーが発生しています。私は、同じ依存関係をインポートし、それがうまく起動し、私は別の春ブーツアプリを見てきましたスプリングブートアプリケーション - プレースホルダーを解決できませんでした

<value>file:${propDir}/env-config.properties</value> 

「プレースホルダ 『propDir』を解決できませんでした....名前の無効なBean定義」エラーを参照してください。開始シーケンスをデバッグしてpropDirの値を見たとき、私はそれが置き換えられていないことを知り、作成されたbeanに "file:$ {propDir} /env-config.properties"と表示されます。

私はアプリを検索しましたが、他のアプリがどのようにエラーを投げていないかを実際には分かっていません。私が紛失している設定の部分がありますか?

答えて

3

propDirの値を指定する必要があります。

これは、JVM引数によって -DpropDir=nameoffoldertouse ようまたはPropertyPlaceholderConfigurer介してロードプロパティファイルのいずれかを介して行うことができます。

このBeanに依存する他のアプリケーションでは、デフォルトで非表示になっている場合があります。

このプロパティを提供したくない場合は、この値を使用するBeanに依存しない可能性があります。春のブートアプリケーションへ

+0

おかげで@ UserF40。私はプロパティをロードする必要はありませんまた、プロパティを持つフォルダを持っていない。私が参照していた他のアプリケーションでは、フォルダは提供されていません。構築されたBeanを見ると、この値が変数$ {propDir} /env-config.propertiesに設定されているのがわかりました。 propDirは置換されていませんでした。 –

1

プロパティは、さまざまな方法を使用して渡すことができ、非常に可能性の高い他のアプリケーションのための「propDir」のプロパティは、私は、このマニュアルで指定された方法の一つとして渡されたばかり信じています:http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html

+0

プロパティが渡されず、読み込まれたBeanを検査しました。ちょうどプレースホルダが定義されました。私は、設定されているプロパティを使ってBeanがどのように作成されているかを確認しようとしています。この場合もbeanはspring.xmlからロードされ、注釈は使用されません。 –

関連する問題