pom.xmlのmodelVersionが必要であり、常に4.0.0に設定されているのはなぜですか?


94

Mavenの<modelVersion></modelVersion>pom.xmlが常に4.0.0に設定されていることに気づきました。

このタグの重要性と、4.0.0に設定する理由を教えてください。


Stackoverflowへようこそ。これを読んでください:stackoverflow.com/questions/how-to-ask-また、もう少し具体的に教えていただけますか?
Zeveso、2013年

8
申し訳ありませんが、Wlllはそれをうまく理解しました。あなたの助けに感謝
マヘシュ

回答:


86

現在、Maven 2および3では常に4.0.0に設定されています。これは、現在、他のモデルがないためです。

modelVersion4.0.0 が含まれていることに注意してください。これは現在サポートされている唯一のPOMバージョンであり、常に必要です。[ ソース ]

ただし、モデルの別のバージョンがあった場合、常に4.0.0に設定する必要はありません。POMはモデルに準拠する必要があります。Maven 4がモデル4.1を搭載するとします。4.1に準拠するようにpomを作成すると、Maven 3およびモデル4.0.0と互換性がなくなります。

これは、新しいモデルが定義された場合に特定のXMLモデルを強制するために、必須として定義されています。


私のアプリはバージョン4でしたが、バージョン5への更新中にエラーが発生しました。
クロエ

8

モデルバージョンは、POMが準拠するプロジェクト記述子のバージョンです。含める必要があり、設定されます。値4.0.0は、Maven 3と互換性があることを示しています。



2

modelVersion -POMのモデルバージョンを含みます。Maven 1.xは、ルートの直接の子として3.0.0要素を含むモデルを使用しました。Maven 2.x / 3.xは4.0.0要素を使用しています。

version-プロジェクトのバージョンを含みます。この属性がない場合は、親要素が存在している必要があり、バージョンは親プロジェクトから継承されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.