cvc-complex-type.2.3:元素“项目”不能具有字符子代

时间:2018-10-21 11:58:07

标签: xml spring-boot xsd xsd-validation xml-validation

我正在尝试创建一个Spring Boot应用程序,但是我的项目遇到了一些问题。

<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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>io.javabrains.springbootquickstart</groupId>
  <artifactId>course-api</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>Java Brains Course API</name>

  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.9.RELEASE</version>
</parent>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

   <properties><java.version> 1.8 </java.version></properties>

</project>

我的pom.xml中出现此错误:

  

cvc-complex-type.2.3:元素“项目”不能具有字符[Children],因为类型的内容类型仅是元素。

1 个答案:

答案 0 :(得分:0)

dependencies元素关闭和properties元素开始之后,XML文件中间有一个BOM

</dependencies>

   <properties><java.version> 1.8 </java.version></properties>

BOM在十六进制编辑器中以ef bb bf的形式显示,但在文本中不可见。 BOM只能显示在XML文件的 顶部 中,而不能显示在中间。

这是没有问题的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 
                             http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>io.javabrains.springbootquickstart</groupId>
  <artifactId>course-api</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>Java Brains Course API</name>
  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.9.RELEASE</version>
  </parent>
  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
  </dependencies>
  <properties><java.version> 1.8 </java.version></properties>
</project>

我也删除了不必要的空格以保持一致,但是元素之间的空格字符和换行符很好,现在可以根据您的格式设置重新引入。