2010-07-29 81 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行爲的任何細微差別或缺陷。

來源: