为什么需要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

8
抱歉,Wlll很好理解。感谢您的帮助
mahesh 2013年

Answers:


85

在Maven 2和3中,始终将其设置为4.0.0,因为目前没有其他模型。

请注意,modelVersion其中包含4.0.0。这是当前唯一受支持的POM版本,并且始终是必需的。[ 来源 ]

但它并不一定需要,如果有模式的又一版本总是被设置为4.0.0。POM必须符合模型。假设Maven 4提供了4.1型。如果您编写的pom符合4.1,则它将与Maven 3和4.0.0模型不兼容。

它被定义为强制性的,可能在定义新模型的情况下强制执行特定的XML模型。


大声笑我的应用程序版本为4,将版本更新为5时出现错误!
Chloe

8

模型版本是POM遵循的项目描述符的版本。它需要包含并设置。值4.0.0刚刚表明它与Maven 3兼容。



2

modelVersion-包含POM的模型版本。Maven 1.x使用了一个包含3.0.0元素作为根的直接子代的模型。Maven 2.x / 3.x使用了4.0.0元素。

版本 -包含项目的版本。如果缺少此属性,则必须存在父元素,并且版本将从父项目继承。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.