2017-07-31 14 views
0

によってピックアップされていないbootRunに渡された私は、実行時に、私の春ブーツ(1.5.4.RELEASE)アプリケーションの環境を設定しようとしていますが、私は、アライメントのうちの何かを持って表示されます。私application.ymlはこのように定義され環境VM argが春ブートアプリケーション

:私は@Configurationとして注釈されているクラスで

spring: 
    profiles.active: ${env:local} 
--- 
spring: 
    profiles: local 
    foo: bar 
--- 
spring: 
    profiles: dev 
    foo: bar 

、私はちょうど私が使用している環境を示すことができ、次のない方法を持っています

App started with profile: local 
:私のアプリケーションは、私は、コンソールでこれを見、開始し、この構成により

@Value('${spring.profiles.active}') 
String activeProfile 

@PostConstruct 
def bootComplete() { 
    println "App started with profile: $activeProfile" 
} 

$ {ENV:DEV}であることを:私は$ {ローカルENV}を変更した場合

私application.ymlでと私はアプリケーションを起動し、私はコンソールでこれを参照してください。

App started with profile: dev 

私の目標を実行時にアクティブなプロファイルを設定するためにVM引数でアプリケーションを開始することです。私は、引数を追加しています:-Denv = devのが、それはアプリケーションの起動には影響しないことが表示されます。誰も私がここで見落とされるかもしれないものを提案することはできますか?

答えて

0

envは、プロパティキーではありませんので、任意の効果をすることはありません-Denv=envを行います。 これは、あなたがそれを行うことができる方法である。

-Dspring.profiles.active=dev 
+0

おかげで作業しています。 Unfortunatley、私は-Dspring.profiles.active = DEVで開始し、今でも地元として、アクティブなプロファイルを見ています。 –

1

私は私の問題への解決策を見つけました。問題は、私はGradleのbootRunを使用してアプリケーションを起動したということでした。私の前提は、VMの引数セットが使用されるということでした。私は今、直接クラスを呼び出すことにより、アプリケーションを実行していて、VMの引数は(-Denvと-Dspring.profiles.active両方)あなたの入力のための

関連する問題