私のMavenプロジェクトはマルチモジュールであり、一般にバージョン番号は同期されません。たとえば、1.2.3-SNAPSHOTとしてバージョン管理されたマスターPOMと、3.4.5-SNAPSHOTというバージョンのサブモジュールを同期させることができます(同期されない主な理由は、プロジェクトから別のモジュールに移動することが多いためですそのバージョンを維持しなければならない)。Maven:サブモジュールからメインモジュールのバージョンを取得する
メインのプロジェクトバージョンを、メイン(またはwebappなど)を含むモジュールのリソースに入れたいと思います。これはもちろんサブモジュールです。これは、サブモジュールからマスターpomバージョンにアクセスする必要があることを意味します。
私のプロジェクトには3または4レベルがあることにも注意してください。したがって、マスターpomは親だけでなくサブモジュールの祖父です。
先進的なものを含むMavenの経験はありますが、これまで私はこの問題を解決できませんでした。
ありがとうございました。
あまりにも明白な答えは、グランドマスターのPOMがサブサブモジュールによって読み取られるプロパティにグランドマスターバージョンを置くことです。私は何が欠けていますか? –
...サブモジュールがグランドマスターから継承するという事実。値ではなくプロパティの定義を継承するため、$ {project.version}はローカルで独自のバージョンで再評価されます。 –
ああ、多分これは次に動作します。私が提案しようとしていたのは、Grandmasterに_literal_バージョンの_redundantly_というプロパティを定義することでした(grand-master.versionなど)。ローカルな衝突はありません。 –