Eclipse在pom.xml文件中显示错误:cvc-datatype-valid.1.2.1:'$ {MYVAR}'不是'boolean'的有效值

Gil*_*ish 4 eclipse validation pom.xml maven

我有一个在命令行上构建良好的Maven项目.我想在Eclipse Luna 4.4.1中编辑项目文件,但是当我加载项目时,它会在我的pom.xml文件中报告以下错误:

cvc-datatype-valid.1.2.1:'$ {MYVAR}'不是'boolean'的有效值

cvc-type.3.1.3:元素'enabled'的'$ {MYVAR}'值无效.

当boolean是一个属性时,这个问题看起来类似于Validating Maven pom.xml,它还没有任何答案.虽然我可以在命令行上通过Maven进行编译,但令人讨厌的是Eclipse不断将这些报告为错误.有没有办法摆脱这些错误而不禁用pom.xml文件的其余部分的验证?

根据http://maven.apache.org/pom.html#Properties,MYVAR正确地引用了该属性.

以下是我的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 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <artifactId>myproject</artifactId>
  <groupId>org.mydomain</groupId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <properties>
    <spring-version>3.0.2.RELEASE</spring-version>
    <MYVAR>false</MYVAR>
  </properties>
  <repositories>
    <repository>
      <id>internal_repo</id>
      <name>my internal repository for offline use</name>
      <url>file://${INT_REPO_HOME}/java/maven_repo</url>
      <layout>default</layout>
    </repository>
    <repository>
      <id>central</id>
      <url>http://repo1.maven.org/maven2</url>
      <releases>
        <enabled>${MYVAR}</enabled>
      </releases>
      <snapshots>
        <enabled>${MYVAR}</enabled>
      </snapshots>
    </repository>
  </repositories>
</project>
Run Code Online (Sandbox Code Playgroud)

Car*_*des 5

Eclipse正在验证POM的XSD,它表示此XML元素的类型为boolean.

boolean的有效值为true/false,因此当它看到$ {MYVAR}时会引发验证错误...因为Eclipse的插件不会执行从"$ {MYVAR}"到"false"的变量转换.

但是,如果你进行mvn安装它没有问题,这意味着pom是正确的.

结论,这是一个Elipse插件问题,所以你只能忽略它.