我已经在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)。


当前回答

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

其他回答

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

假设您在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>

我发现@bigleftie上面的评论很有帮助: “有四件事必须相符

Project->Java Build Path->Libraries->JRE版本 项目->Java编译器->编译器遵从级别 项目- >项目方面- > Java - >版本 (如果使用Maven) pom.xml - Maven -编译器-插件工件的源和目标”。

在我的案例中,在项目属性、Java编译器中,JDK遵从性被设置为使用工作区设置,这与项目的Java版本不同。我点击“Configure Workspace Settings”,并将工作区编译器遵从级别更改为我想要的级别,问题就解决了。

Project Facet->Java应该与maven-compiler-plugin工件源和目标的pom.xml中的任何内容相匹配。这太完美了。但是如果你在这里没有它,那么你也可以通过匹配Java编译器版本在项目方面的设置:Eclispe->首选项->Java->编译器

如果您的项目不是Maven项目,右键单击您的项目并选择Properties打开project Properties对话框。

左边有一个Project Facets项,选择它,在列表中查找Java facet,选择您想要用于项目的版本并应用。