config.properties
ビルド プロセスで多数のファイルが呼び出される状況があります。
config.properties.dev
config.properties.qa
config.properties.prod1
config.properties.prod2
現在のインストール プロセスではconfig.properties
、その環境の を にコピーしますconfig.properties
。(私はこれについてわくわくしていませんが、これは私が今取り組まなければならないことです。)
これらのファイルはすべて、3 つまたは 4 つのプロパティを除いてまったく同じです。残念ながら、これらはすべてのファイルで常に同じプロパティであるとは限りません。やりたいことは、次のようなマスターをセットアップすることです。 config.properties
主人config.properties
prop1 = value1
prop2 = value2
prop3 = value3
prop4 = value4
次に、マスターと異なるプロパティのみを含む環境ごとに個別の `config.properties を用意します。
config.properties.prod
:
prop3 = value3.1
prop4 = value4.1
config.properties.qa
prop2 = value2.1
prop3 = value3.2
展開を行うときに、2 つのファイルを連結できる可能性があると考えました。
cat config.properties.$env >> config.properties
そして、この方法で結合されたプロパティ ファイルを取得します。
組み合わせたconfig.properties
prop1 = value1
prop2 = value2
prop3 = value3
prop4 = value4
prop2 = value2.1
prop3 = value3.2
残念ながら、Java がそのようなファイルをどのように処理するかはわかりません。最初に定義されたプロパティを取るか、最後に定義されたプロパティを取るか、または動作が完全に未定義か?
これがうまくいかない場合、構成スクリプト (通常は BASH スクリプト) で複数のプロパティを 1 つのプロパティ ファイルに結合する最善の方法は何ですか?