为什么 modelpo.xml 的版本是必要的,并且总是设置为 4.0.0?

2022-08-31 09:52:05

我注意到 Maven 的 始终设置为 .<modelVersion></modelVersion>pom.xml4.0.0

你能帮我了解这个标签的重要性是什么,以及为什么它应该被设置为?4.0.0


答案 1

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

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

但是,如果模型有另一个版本,则不一定需要始终将其设置为 4.0.0。POM必须符合模型。假设Maven 4提出了模型4.1。如果你编写你的pom来符合4.1,它将与Maven 3和model 4.0.0兼容。

它被定义为必需的,可能是为了在定义新模型时强制实施特定的 XML 模型。


答案 2

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


推荐