Eclipse工程中Java Build Path中的JDK版本和Java Compiler Compiler compliance level的区别(转)

在这里记录一下在eclipse中比较容易搞混淆和设置错误的地方。如下图所示的功能:

Eclipse工程中Java Build Path中的JDK版本和Java Compiler Compiler compliance level的区别(转)

最精准的解释如下:

Build Path是运行时环境 

Compiler是编译时环境 

假设,你的代码用到泛型,Build Path环境为1.5,Compiler环境为1.4,那么会显示编译错误,无法编译;但是这样的web项目是可以在web容器中运行的,前提是你的容易支持1.5语法。

Build Path里面是你的class文件的运行环境级别,非编译器需要使用到的,例如,如果用的1.4就不能使用泛型。而Compiler compliance level设置的是你写好的JAVA代码按照什么JDK版本级别编译,例如:设置的是1.4,编译出来的class文件可以在1.4以上的JRE上运行,如果用的是5.0级别编译,就不能运行在1.4的环境里面,会提示版本过高。 总之,只要Build Path的JDK版本高于或等于Compiler compliance level里面的级别就可以了。