2010-03-31 51 views
1

我使用Eclipse 3.3。在我的項目中,我將編譯器合規性級別設置爲5.0在項目的構建路徑中。我在Installed JREs部分添加了Java 1.5 JDK,並在我的項目構建路徑中引用了該System Library。但是,對於實現PreparedStatement的類,由於沒有實現只存在於Java 1.6 PreparedStatement中的抽象方法,我得到編譯錯誤。具體而言,方法爲什麼Eclipse不會使用我爲我的項目指定的編譯器?

setAsciiStream(int, InputStream, long) and 
setAsciiStream(int, InputStream) 

奇怪的是,它在我們針對它最初編寫的Java 1.4進行編譯時工作。我們爲Java 1.4添加了JRE並引用了項目中的系統庫,並將項目的編譯器級別設置爲1.4,並且工作正常。但是,當我做相同的更改以嘗試指向Java 5.0時,它將使用Java 6.

任何想法爲什麼?

我寫了一個類似的問題早,在這裏:

how do I get eclipse to use a different compiler version for Java?

我知道你應該如何選擇不同的編譯器,但它似乎Eclipse是不採取它。雖然我已經刪除了所有可以找到的Java 6 JDK和JRE,但它似乎是Java 6的默認設置。我也更新了我的eclipse.ini中的-vm選項以指向Java5 JDK。

回答

2

這不是關於編譯器 - 它只是關於庫!轉到項目的屬性,然後在Java Build Path/Libraries下,刪除JRE System庫。然後使用添加庫...來添加所需的JRE庫的版本。

+0

我已經這樣做了,正如原文中所述。 「...在我的項目構建路徑中引用該系統庫。」 – user26270 2010-03-31 14:13:16

+0

@ codeman73:不知何故,該類的Java 6版本似乎優先於您的類路徑。如果您已經只引用了一個JRE庫,那麼請確保JRE已在Eclipse Preferences中正確設置,位於已安裝的JRE下:使用「編輯...」並查看是否存在對來自Java 6 JRE。然後嘗試清理該項目。 – 2010-03-31 15:25:41

+0

安裝有些奇怪。我從一個名爲java_ee_sdk-5_03-windows.exe的文件安裝了它,但是在安裝過程中,在安裝程序的最終摘要頁面上,在開始安裝之前,它列出了Product:Java Platform,Enterprise Edition 5 SDK,但是然後它下面列出了Java 2 SDK,標準版6.0。這是正常的,還是我只是混淆了所有不同的版本號?我假設J2EE 5將使用JDK 5而不是JDK 6. – user26270 2010-03-31 17:50:55

相關問題