2017-03-31 18 views
1

私が達成しようとしているのは、classpath(/ resourcesの下)に直接置かれたapplication.ymlファイルのディレクトリを指定することです。 Cの下で続いてSpringブート外部プロパティファイル(プロファイルあり)?

spring:  
    datasource: 
    driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver 
    profiles: 
    active: dev 
    config: 
    location: C:\\app\\configs\\ 

:私のようなものを持ってできるようにしたいと思い

次のような私がロードされたプロファイルに基づいて、複数の設定ファイルを持っていると思います\設定\のconfigs \場所、
c:\app\configs: 
application-dev.yml 
application-staging.yml 
application-production.yml 

この方法を使用すると、IDEのデフォルトは常にapplication-dev.ymlになります。私はgradleを使ってアプリケーションをビルドし、コマンドライン引数を渡しながら実行すると、プロファイルを指定して適切なファイルをロードすることができます。理想的には、単にこれを行うことができること:私が見た

のjava -jar -Dspring.profiles.active = appliation.jar

をステージングすると、すべての例や答えがこれを渡す方法を示しています使用していないだけで、コマンドラインから、これらすべての設定オプション

spring.config.location

spring.profiles.active

デフォルトの設定ファイル(例:application.yml)の中から。最小限の配備で上記のように設定することをお勧めします。

ありがとうございます/助けてください!

答えて

1

"application.yml"ではなく "bootstrap.yml"として基本設定を提供することができます。その後、スプリングブートは設定パスから選択したプロファイルに応じて適切な設定を選択する必要があります。

私には、これはコマンドライン引数を使用したくない場合、あなたのユースケースに最も近い解決策であるようです。

+0

提案していただきありがとうございます。私がやることは、テナントごとにこれをオン/オフにするための設定が保存されているプロファイル上にフラグを作成することです。それを行うには良い方法ですが、空の値に基づいてそれをThymeleafに含めることを好むだけでした。 – SiriusBits

関連する問題