我已经在Eclipse Helios版本下创建了一个新的动态项目,其中我的JRE版本设置为1.6。 我已经通过单击Configure→Convert to Maven Project向Web应用程序添加了Maven功能。

添加后,Eclipse Problems视图中出现了一个构建错误:

Java compiler level does not match the version of the installed Java project facet.
Unknown Faceted Project Problem (Java Version Mismatch)

请告诉我如何解决这个错误(我想有我的JRE版本为1.6)。


当前回答

假设您在Eclipse中使用m2e插件,您需要将maven-compiler-plugin的源版本和目标版本指定为1.6。m2e使用这些值来确定项目的Java编译器级别。POM的一个片段如下所示:

<build>
  <plugins>
    <plugin>
      <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>1.6</source>
          <target>1.6</target>
        </configuration>
    </plugin>
  </plugins>
</build>

或者,你可以指定maven.compiler.source和maven.compiler.target属性的值为1.6,这恰好是等价的:

<properties>
    <maven.compiler.target>1.6</maven.compiler.target>
    <maven.compiler.source>1.6</maven.compiler.source>
</properties>

其他回答

在Eclipse中,右键单击您的项目,进入Maven>更新项目等。等待,错误将消失。这已经为这个项目正确配置了Java版本。

右键单击项目并选择属性 从左边单击java编译器,并更改为所需的版本 希望这能有所帮助

我将workspace/project/.setting/org.eclipse.wst.common.project.facet.core中的配置更改为:

installed facet="jst.web" version="2.5"
installed facet="jst.java" version="1.7"

在更改配置之前,从IDE中删除项目。 这对我很管用。

假设您在Eclipse中使用m2e插件,您需要将maven-compiler-plugin的源版本和目标版本指定为1.6。m2e使用这些值来确定项目的Java编译器级别。POM的一个片段如下所示:

<build>
  <plugins>
    <plugin>
      <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>1.6</source>
          <target>1.6</target>
        </configuration>
    </plugin>
  </plugins>
</build>

或者,你可以指定maven.compiler.source和maven.compiler.target属性的值为1.6,这恰好是等价的:

<properties>
    <maven.compiler.target>1.6</maven.compiler.target>
    <maven.compiler.source>1.6</maven.compiler.source>
</properties>

我通过在项目属性的Project Facet属性中设置java版本来解决这个问题,右键单击项目根文件夹-> properties,搜索Project Facets,并选择兼容的java版本。

供参考-