[解決済み】Mavenプロジェクトのバージョン継承 - 親バージョンを指定する必要があるか?
質問
親プロジェクト:A、サブプロジェクト:Bの2つのプロジェクトを持っています。
A/pom.xmlです。
<groupId>com.dummy.bla</groupId>
<artifactId>parent</artifactId>
<version>0.1-SNAPSHOT</version>
<packaging>pom</packaging>
そして、B/pom.xmlには。
<parent>
<groupId>com.dummy.bla</groupId>
<artifactId>parent</artifactId>
<version>0.1-SNAPSHOT</version>
</parent>
<groupId>com.dummy.bla.sub</groupId>
<artifactId>kid</artifactId>
Bは親からバージョンを引き継ぎたいので、私の場合、唯一の場所は
0.1-SNAPSHOT
でございます
A/pom.xml
. しかし、もし私が
<version>0.1-SNAPSHOT</version>
から
B/pom.xml
の下にある親セクションで、maven は親のバージョンがないことを訴えます。
を使用する方法はありますか?
${project.version}
などにすることで
01.-SNAPSHOT
を両方のpomで使用できますか?
解決方法は?
EDITです。
Maven 3.5.0以降では、この問題を解決するために
${revision}
プレースホルダーを使用します。参照
FrVaBeの回答
をご覧ください。以前のMavenバージョンについては、以下の私のオリジナルの回答を参照してください。
いいえ、そんなことはありません。必ず親のバージョンを指定する必要があります。幸いなことに、ほとんどの場合、モジュールのバージョンとして望ましいものが継承されます。また、この親のバージョン宣言は Maven Release Plugin によって自動的にバンプされるので、Maven Release Plugin を使ってバージョンをリリースしたりバンプしたりする限り、2か所にバージョンがあっても問題はありません。
この動作が、実際にはかなり問題なく、必要な柔軟性を与えてくれる場合があることに注意してください。時には、前の親のバージョンの一部を継承して使いたい場合もありますが、これは主流ではありません。
関連
-
[解決済み] Maven。解決できない親POM
-
[解決済み] Jenkins Maven リリースプラグイン使用時の "リアクタープロジェクトリストに SNAPSHOT プロジェクトがありません" という表示について
-
[解決済み] Mavenプロジェクトにローカルのjarファイルを追加する方法は?
-
[解決済み] MavenにおけるdependencyManagementとdependenciesの相違点
-
[解決済み] IntelliJのインスペクションで「シンボルを解決できない」と表示されたが、コードはコンパイルされる
-
[解決済み] IntelliJ - Javaプロジェクト/モジュールをMavenプロジェクト/モジュールに変換する
-
[解決済み】Mavenプロジェクトのバージョン継承 - 親バージョンを指定する必要があるか?
-
[解決済み】mavenでJavaのバージョンを指定する - プロパティとコンパイラープラグインの相違点
-
[解決済み】Spring Boot - すでに親POMがある場合の親Pom
-
[解決済み] Swift言語における抽象関数
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン