【やりたいこと】
Javaアプリケーションで、ローカル環境でもデプロイ後のHeroku環境でも処理を書き換えずに環境変数を読み取りたい
【背景】
・Discordのbotを開発している
・このbotはGitHubでバージョン管理→ここからHerokuにデプロイする
・botアカウントとプログラムを紐づけるため、bot側が発行したトークンをプログラムに読み込ませる必要がある
乗っ取り被害防止のため、botのトークンは絶対に人に教えないこと!
・上記理由により、プログラムにベタ書きしたり、トークンを書いたプロパティファイル等をGitHubで管理はしない
・デプロイ後のトークンはHeroku環境変数に持たせて、それを読ませる
→この処理では、ローカルのファイルを読むことはしない。当然クラスのプロパティであるはずもない。
・ローカルでアプリケーションを動作させるときは、Heroku環境変数を読むことはできない
⇨じゃあ動作確認の時は別ファイル等を読ませるような処理にいちいち書き換えるのか?それともわざわざ動作環境を読み取って分岐処理をさせるのか?という問題が発生する
【解決方法】
dotenv-javaライブラリを使用する。