如果我告诉NetBeans(6.9)在保存时编译,NetBeans警告我编译的类与使用JDK编译器编译的类不同。 Java平台在同一对话框中设置为“JDK 1.6”。 NetBeans使用哪种编译器?为什么NetBeans不使用JDK编译器?
alt text http://img814.imageshack.us/img814/3449/compileonsave.png
答案 0 :(得分:4)
与Eclipse一样,Netbeans不使用标准javac
,因此它可以提供包含语法错误的方法的类的增量编译和编译。
与Eclipse(使用自己的Eclipse Java编译器)不同,Netbeans实际上使用 javac的内部API 进行编译,语法突出显示和错误检测。这是一个很好的优势,因为Netbeans能够处理所有最新的Java语言功能,并忠实地再现javac行为的任何细微差别或错误。
来源:答案 1 :(得分:3)
为什么NetBeans不使用JDK编译器?
很简单,因为Sun的javac
旨在用于从最终有效文件的命令行进行基于批处理的编译。 NetBeans(和其他IDE)在您键入时进行渐进式编译,而且通常还有其他功能,例如为无效文件创建类(因此如果methodA
出现语法错误,您可以运行methodB
,等等)。
针对不同要求的不同工具。
答案 2 :(得分:1)
检查Java平台管理器:工具 - > Java平台
答案 3 :(得分:0)
在Program Files \ NetBeans 6.8 \ etc中有一个netbeans_jdkhome值。
答案 4 :(得分:0)
问题被问到了很长一段时间,但我想你想要的是: http://wiki.netbeans.org/FaqCompileOnSave