質問: System.getenv("SPRING_PROFILES_ACTIVE"); System.out.println(profiles); ``` としていますが、 ``` 変数名:**** . . . 変数名:**** --- null ``` となり、環境変数を読み込めていないようでした。
回答: STS上でSpring Bootを実行しようとしたときの事象かと察します。 `~/.bash_profile` の設定が有効になるのは `bash` から起動した(つまりターミナルから起動した)アプリケーションだけです。 おそらく、DockなどからSTSを起動しているのではないでしょうか。 採れる選択肢は3種類あるかなと思います。 1. ターミナルからSTSを起動する 2. Dockから起動した場合も有効になるような環境変数の設定方法を実施する この2種類の方法については、私は手元にMacを持っているので回答できません... (環境変数の設定方法については、MacOS X のバージョンによって異なっているかも知れないので、質問文にOSのバージョンを明記した方が良いかと考えます) 3つめの選択肢は、STS上の起動オプションでprofileを指定してしまう方法です。 Boot Dashboard から鉛筆アイコンをクリックしてプロジェクトの設定ダイアログを開くと、 Spring Boot タブに profileを設定する箇所がありますので、ここに `local` と設定することで有効化されます。 (ちなみに、この方法は環境変数に設定するわけではなく起動引数に `--spring.profiles.active` を設定するので、 `System.getenv("SPRING_PROFILES_ACTIVE");` では拾えません。どうしても環境変数として設定したいのであれば、同ダイアログの Environment タブから設定することは可能です。) !設定箇所