(巨大な)プロジェクトをビルドするためにantを使用しました。(従来の理由から)プロパティファイル内のプロパティをかなり深くネストしました。プロパティ(プロパティ内)のプロパティのネスト
(例えば、内部のbuild.xml)
<ant dir="${object.build.dir}" target="deploy" />
())(時には同じいくつかの他のプロパティファイル内のいくつかのプロパティファイル:)
object.build.dir=${base.dir}
(内側:
base.dir=${env}/some/dir
それでは、アリはそれほど最近のものではないので、私たちは今すぐmavenに移動しています。これはかなり悪夢になるでしょう...
質問は:どのように...(テストなど)
フィルタ/ top_levelを深く、時には限り5としてのレベルのプロパティ内の営巣特性の結果である特性を読んでください。プロパティ:
env=test
フィルター/テスト/ mid_level.properties:
specific=spec
フィルタ/ top_level.propertiesも(別の環境のために)読むことができる:
env=prod
ので、フィルタ/ PROD/mid_level.propertiesを:
specific=spock
質問はこれに沸く:
どのようにして、パスが別のプロパティファイルで定義されているプロパティファイル内で定義された '特定の'プロパティを読み書きするのですか?) (この種類の入れ子はどこですか?)
また、これは 'リソース'に関係しません(これらも含まれていますが、主な問題ではなく、リソースはアプリケーションによって使用されるプロパティです、私が話すプロパティはビルド時にのみ使用されるプロパティですあなたがproperties:read-project-propertiesプラグインを持っているのmavenで
S.
あなたのプロパティは、異なる環境用の設定のように見え、AntでもMavenでもプロパティを使用することは決して良いことではない。 ..ここで見ることができるかもしれません:https://github.com/khmarbaise/multienv-maven-plugin...さらに、私はあなたがdev、prodなどを意味する各プロパティのたびにビルドすることを前提としています。 Mavenでは動作しません...一度構築して一回ですべての必要な出力を生成してください... – khmarbaise
ねえ、ありがとう、確かにそれを見てみましょう。 – Bamboomy