欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

eclipse出现Java compiler level does not match the version

程序员文章站 2022-07-15 13:49:42
...

从别的地方导入一个项目的时候,经常会遇到eclipse/Myeclipse报Description  Resource Path Location Type Java compiler level does not match the version of the installed Java project facet.出现这个问题的原因是因为,eclipse/myeclipse的jdk编译版本与出现问题的项目JDK编译版本不一致所导致!

1、先设置好jdk,需要确定 项目,eclipse/myeclipse,系统 用的是同一个版本的JDK,例如系统中安装的JDK是1.7,所以把eclipse的jdk成1.7

 eclipse出现Java compiler level does not match the version 
            
    
    博客分类: 开发工具  

2、进入 windows---proferences---java--compiler设置编译出来的文件使用的格式是 1.7版本的 (设置成多少都行,只要兼容,并且与你项目的编译版本一直就可以,我这里统一设置成1.7) 

eclipse出现Java compiler level does not match the version 
            
    
    博客分类: 开发工具  

3、进入项目--properties---java Compiler 把项目编译版本也设置成 1.7 

eclipse出现Java compiler level does not match the version 
            
    
    博客分类: 开发工具  

4、进入项目--properties---Myeclipse---project Facets设置java文件的版本为 1.7,并打勾。 

eclipse出现Java compiler level does not match the version 
            
    
    博客分类: 开发工具  

5、最后重新导入一下工程文件。

 

补充说明:

如果重新导入工程后,无法发布deployed,检查工程目录下.setting文件夹内的org.eclipse.wst.common.project.facet.core.xml配置文件

<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<runtime name="com.genuitec.runtime.generic.jee60"/>
<fixed facet="wst.jsdt.web"/>
<fixed facet="java"/>
<fixed facet="jst.web"/>
<installed facet="java" version="1.7"/>
<installed facet="jst.web" version="3.0"/>
<installed facet="jst.web.jstl" version="1.2.1"/>
<installed facet="wst.jsdt.web" version="1.0"/>
</faceted-project>

修改完配置文件,重新导入,重新发布。

 

相关错误处理:

Unsupported major.minor version 51.0解决办法

错误原因:用jdk7编译的class文件放到基于jdk6运行在tomcat之中,就会报这个错。

 解决方法:

打开exclipse中项目上的属性—java compiler–选择一个合适的版本后重新编译即可。

具体步骤

解决:项目------>右键------>属性------>Java Compiler------>Compiler Compliance Level------>选择你使用的JDK版本------>应用。

eclipse出现Java compiler level does not match the version 
            
    
    博客分类: 开发工具  

总结:不同的JDK版本使用的major.minor不同,所以会导致这个错误。在项目中要使用当前电脑配置的JDK版本,切忌张冠李戴。

知识扩充:major.minor version,它相当于一个软件的主次版本号,只是在这里是标识的一个Java Class的主版本号和次版本号。