“分面项目问题(Java版本不匹配)”错误消息

时间:2010-02-10 20:04:41

标签: java eclipse maven-2 m2eclipse

Eclipse的“问题”标签显示此错误:

  

描述:Java编译器级别与已安装的Java项目方面的版本不匹配   资源:灌浆   路径:[空白]
  位置:未知
  类型:分面项目问题(Java版本不匹配)

我的pom.xml有此设置:

<plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
            <source>1.6</source>
            <target>1.6</target>
        </configuration>
    </plugin>
</plugins>

哪些设置可能不匹配?

5 个答案:

答案 0 :(得分:142)

您是否检查过Project Properties -> Project Facets小组? (来自that post

  

WTP项目由多个功能单元组成(称为   面)。

     

Java facet版本需要始终匹配java编译器合规性   水平。
  更改java级别的最佳方法是使用Project Facets   属性面板,因为它将同时更新两个位置。

WTP

  

Project->Preferences->Project Facets”将其配置存储在此文件“org.eclipse.wst.common.project.facet.core.xml”下的“.settings”目录下。

     

内容可能如下所示

<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
  <runtime name="WebSphere Application Server v6.1"/>
  <fixed facet="jst.java"/>
  <fixed facet="jst.web"/>
  <installed facet="jst.java" version="5.0"/>
  <installed facet="jst.web" version="2.4"/>
  <installed facet="jsf.ibm" version="7.0"/>
  <installed facet="jsf.base" version="7.0"/>
  <installed facet="web.jstl" version="1.1"/>
</faceted-project>

同时检查您的Java compliance level

Java compliance level

答案 1 :(得分:42)

  

您有两种方法可以解决此问题:

     

1-手动确保两个版本匹配   2-使用IDE的帮助如下:
   - 右键单击​​“问题”视图中的错误
   - 从弹出菜单中选择“快速修复”菜单项    - 在提供的对话框中选择正确的编译器级别,然后单击“完成”。

取自Eclipse: Java compiler level and project facet mismatch

还提供了可以访问Java编译器和构面版本的位置。

答案 2 :(得分:21)

项目方面应该由POM配置的M2Eclipse插件自动派生。如果您对POM进行了一些更改并需要Eclipse将其考虑在内,右键单击项目,然后转到 Maven&gt;更新项目配置。您不应手动设置项目构面。

答案 3 :(得分:0)

在Spring STS中,右键单击项目&amp;选择&#34; 打开项目&#34;,此条款在后台执行必要的操作&amp;将项目带回工作空间。

谢谢&amp;问候 Vengat Maran

答案 4 :(得分:0)

我在Java 1.6上运行应用程序时遇到了这个问题,而我有不同应用程序的Java 6,7,8的所有三个版本。我访问了Navigator View并从facet.core.xml中手动删除了不需要的facet。干净的构建和wallah!

<?xml version="1.0" encoding="UTF-8"?>

<fixed facet="jst.java"/>

<fixed facet="jst.web"/>

<installed facet="jst.web" version="2.4"/>

<installed facet="jst.java" version="6.0"/>

<installed facet="jst.utility" version="1.0"/>