maven 为什么选择modelVersion of pom,xml是必需的,并且总是设置为4,0.0?

ncgqoxb0  于 2023-04-29  发布在  Maven
关注(0)|答案(4)|浏览(214)

我注意到Maven的pom.xml<modelVersion></modelVersion>总是设置为4.0.0
你能帮助我理解这个标签的重要性吗?为什么它应该设置为4.0.0

zazmityj

zazmityj1#

它始终设置为4。在Maven 2和3中是0.0,因为目前没有其他模型。
注意modelVersion包含4。0.0。这是当前唯一受支持的POM版本,并且始终是必需的。[来源]
但它不一定 * 需要 * 总是设置为4。0.0如果有另一个版本的模型。POM必须符合模型。假设Maven 4推出了Model 4。1.如果你写你的pom符合4.1,它不会与Maven 3和Model 4兼容。0.0.
它被定义为强制性的,可能是为了在定义新模型的情况下强制执行特定的XML模型。

moiiocjp

moiiocjp2#

模型版本是您的POM符合的项目描述符的版本。它需要被包含并被设置。值4。0.0只是表明它兼容Maven 3。

b1zrtrql

b1zrtrql3#

正确答案应该是@Toumi和@Boj的答案的组合。也可以看看https://cwiki.apache.org/confluence/display/MAVEN/POM+Model+Version+5.0.0了解更多的背景。

jjjwad0x

jjjwad0x4#

modelVersion-包含POM的模型版本。Maven 1.x使用了一个包含3.0.0元素作为根的直接子级。Maven 2.x / 3.x使用了4。0.0元素。
version-包含项目的版本。如果缺少此属性,则父元素必须存在,并且版本将从父项目继承。

相关问题