2017-03-24 8 views
0

Java 8でSpringブート1.5.1を使用していますが、ファイルシステムからapplication.propertiesファイルを取得しようとしています。私のローカルdev envはWindows & Prod envはlinuxです。以下のコードは、ローカルではうまく動作しますが、Linux環境ではうまく動作しません。スプリングブートの外部プロパティファイル

ドキュメントから:

「あなたは設定ファイル名としてapplication.propertiesが気に入らない場合は、春を指定することにより、別のものに切り替えることができマーティンが言ったことに拡張すること

@PropertySource(value = "file:C:/conf/application.properties", ignoreResourceNotFound = true) 
@PropertySource(value = "file:/home/me/prod/props/application.properties", ignoreResourceNotFound = true) 
+0

起動時に '@ PropertySource'を使用しないでください。代わりに' config.location'を指定してください。 –

+0

plsを詳しく説明できますか? – alowsarwar

+0

ローカルとサーバーに使用されるプロパティファイルを分離するために環境プロファイリングを使用しているのはなぜですか? Spring/Bootは、開発者が自己完結型で環境に依存しないコードを作成できるようにします。これは実際にクラウドネイティブの性質を持つアプリケーションを開発するのに役立ち、必要なデータをシステムに提供することは決してありません。 –

答えて

0

.config.name環境プロパティ。spring.config.location環境プロパティ(カンマ区切りのディレクトリ位置またはファイルパス)を使用して、明示的な場所を参照することもできます。

$ます。java -jar myproject.jar --spring.config.name = myprojectに

または

の$ます。java -jar myproject.jar --spring.config.location =クラスパス:/default.properties,classpath:/override.properties

関連する問題