0 0

eclipse web工程build path中的jdk版本和java compiler compliance level jdk区别20

eclipse web工程build path中的jdk版本和java compiler compliance level 的区别是什么?

例如: 我在build path中的jdk是jdk5, 但在java compiler compliance level中设置的是1.6,那么eclipse会用1.6的来编译,我想知道为什么会这样,eclipse为什么要在两个地方来设置?这种情况用于什么场合,谢谢。

另外,eclipse中,还有一个project facets,来设置java的版本,这又是用于什么场合,为什么要在这么多地方设置版本?谢谢!

问题补充:感谢大家的解答,mars610和anyasir已经对build path和java compiler compliance level 中设置版本的功能进行了解答,那么 project facets 中设置的JAVA版本是做什么用的呢?
2010年10月08日 11:41

4个答案 按时间排序 按投票排序

0 0

采纳的答案

build path的JDK版本是你开发的时候编译器需要使用到的,例如,如果用的JDK1.4就不能使用泛型。而java compiler compliance level设置的是你写好的JAVA代码按照什么JDK版本级别编译,例如:设置的是1.4,编译出来的class文件可以在1.4以上的JRE上运行,如果用的是5.0级别编译,就不能运行在1.4的环境里面,会提示版本过高。
只要build path的JDK版本高于或等于java compiler compliance level里面的级别都可以

2010年10月08日 13:03
0 0

这么说吧。。我的理解是这样的
build path 是运行时环境
compiler 是编译时环境

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

2010年10月08日 14:57
0 0

纠正下build path里面是你的class文件的运行环境级别,非编译器需要使用到的。

2010年10月08日 13:05
0 0

如果在Preferences中 installed jres中增加JDK1.6或是1.5的话。
那么你在java compiler compliance level 中设置的话,就会对应相应的版本。
如果只设置了JDK1.6的话,而在java compiler compliance level 选中1.5的话,会提示安装1.5。

2010年10月08日 11:47

相关推荐

Global site tag (gtag.js) - Google Analytics