2010-07-29 76 views
7

如果我告诉NetBeans(6.9)在保存时进行编译,NetBeans会警告我已编译的类与用JDK的编译器编译的类不同。 Java平台在同一个对话框中设置为“JDK 1.6”。 NetBeans使用哪种编译器?为什么NetBeans不使用JDK编译器?NetBeans使用哪种Java编译器?

alt text http://img814.imageshack.us/img814/3449/compileonsave.png

+0

你不能设置NetBeans的使用已安装的SDK?不要忘记,NetBeans和Java现在归Oracle所有,所以基本上NetBeans SDK实际上是一个java SDK。 – 2010-07-29 16:21:14

回答

0

在Program Files文件\的NetBeans 6.8 \ etc中有一个netbeans_jdkhome值。

+0

它被设置为'netbeans_jdkhome =“C:\ Program Files \ Java \ jdk1.6.0_20”',这是我的默认JDK。如果这是相关设置,则NetBeans应使用默认编译器。 – deamon 2010-07-30 04:29:05

1

检查你的Java平台管理器:工具 - > Java的平台

+0

编译器没有什么关于,但关于像rt.jar这样的库。 – deamon 2010-07-30 04:29:53

3

为什么不NetBeans的使用JDK编译器?

很简单,因为Sun的javac旨在用于基于批处理的编译从命令行的权威性有效文件。 NetBeans(和其他IDE)在键入时进行增量编译,而且通常还具有其他功能,例如为无效文件创建类(因此,如果methodB中存在语法错误等,则可以运行methodA)。

针对不同要求的不同工具。

4

像Eclipse,Netbeans的不使用标准javac,以便它可以提供包含方法的类增量编译和汇编,有语法错误。与Eclipse(使用其自己的Eclipse Java编译器)不同,Netbeans实际上使用javac的内部API进行编译,语法突出显示和错误检测。这是一个很好的优势,因为Netbeans能够处理所有最新的Java语言功能,并忠实地再现javac行为的任何细微差别或缺陷。

来源: