第一行在 Maven pom.xml 中意味着什么

What does the first line means in a Maven pom.xml

Mavens 中的第一行是什么意思pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" 
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
         https://maven.apache.org/xsd/maven-4.0.0.xsd">

你的实际意思是第一个元素而不是第一行。第一个元素前可以有处理指令或注释。

开头<后的第一个元素是第一个XML元素的名称。

属性 xmlns 指定元素所属的 XML 命名空间的 URI。 XML 允许您在一个文档中组合多个 XML 命名空间。对于 Maven,命名空间的名称是 http://maven.apache.org/POM/4.0.0。由于这是一个 URI,因此它不一定是有效的 URL。它只是资源的规范名称。

下一个属性 xmlns:xsi 可以为同一 XML 文档 (pom.xml) 声明另一个名称空间。它声明了由 URI http://www.w3.org/2001/XMLSchema-instance.

标识的命名空间 xsi

最后一个属性 schemaLocation 来自命名空间 http://www.w3.org/2001/XMLSchema-instance 并提供从 Maven 用于其 POM 的命名空间的 URI 到 URL 的映射,其中 XML 解析器可以找到命名空间的 XML 架构声明。

顺便说一句,您可以选择任何标识符作为命名空间标识符。例如,您可以将两次出现的 xsi 替换为 xyz,文档仍然有效。在许多情况下,为标识符选择的标识符更像是一种约定,而不是硬性要求。

<project xmlns="http://maven.apache.org/POM/4.0.0" 
         xmlns:xyz="http://www.w3.org/2001/XMLSchema-instance"
         xyz:schemaLocation="http://maven.apache.org/POM/4.0.0
         https://maven.apache.org/xsd/maven-4.0.0.xsd">