1. ホーム
  2. スプリング

[解決済み】IntelliJから実行するときにSpring Bootプロファイルを有効にするにはどうすればよいですか?

2022-04-08 04:05:45

質問

5つの環境があります。

 - local (my development machine)
 - dev
 - qc
 - uat
 - live
 - staging

環境ごとに異なるアプリケーションのプロパティを使用したいので、以下のプロパティファイルを用意し、それぞれデータソースに異なるURLを指定しています。

 - application.properties  (containing common properties)
 - application-local.properties
 - application-dev.properties
 - application-qc.properties
 - application-uat.properties
 - application-live.properties

私はIntelliJを使用しており、ローカルマシンのGradleプラグインでbootRunを使用してアプリを実行しています。 私は、Tomcatを実行する他のすべての環境に同じアプリケーションのwarファイルをデプロイすることを使用する予定です。

を追加してみました。

-spring.profiles.active=local(スプリング・プロファイル・アクティブ=ローカル)。

をスクリプトパラメータの下にある実行設定に追加します。

を追加してみました。

-Dspring.profiles.active=local

をVMオプションの実行設定に追加してください。

どちらもうまくいきません。起動時にINFOメッセージでこう表示され続けています。 アクティブなプロファイルが設定されていないため、デフォルトのプロファイルにフォールバックします:デフォルト

Windowsのコマンドラインから、以下のコマンドでアプリを実行すると

gradle bootRun

を設定したのですが、まず環境変数

set SPRING_PROFILES_ACTIVE=local

そうすれば、すべてがうまくいくのです。

そこで質問ですが、IntelliJからbootRunを実行する際に、ローカルのspring bootプロファイルを有効にするにはどうすればよいのでしょうか?

どのように解決するのですか?

を追加しました。 -Dspring.profiles.active=test をVMオプションに追加し、その設定を再実行したところ、完全に動作しました。

で設定することができます。

  • 選択する Run | Edit Configurations...
  • に行ってみてください。 Configuration タブ
  • を拡大する。 Environment 欄外 VM options