2013-08-06 39 views
1

我目前正在研究一箇舊的Web應用程序。在與老闆的討論中,我提到應用程序使用Java 1.4。然後,他打斷了我,然後說這個項目實際上使用Java 1.5。我打開了我的工作區,並說明了爲什麼我說該項目使用Java 1.4的原因。我導航到Project Properties > Build Path > Libraries,這裏列出的是JRE系統庫[J2SE-1.4]Eclipse - 如何知道'真正'的Java版本的Web應用程序?

然後,他接過控制,然後把我帶到Window > Preferences > Java > Compiler然後在JDK符合性部分,編譯器合規性水平的值是1.5

另一件讓我認爲該項目使用1.4的原因是,List對象沒有參數化類型,Eclipse也沒有爲它們生成警告。 此外,當我鍵入List<String>,日食給了我一個錯誤說

語法錯誤,如果源級別是1.5參數化類型纔可用。

這使我相信應用程序正在使用Java 1.5。但在我目前的職位上(初級開發人員),我需要確保在與我的老闆進行辯論之前,我的假設是非常正確的。所以,我的問題是,我如何才能真正瞭解應用程序正在使用的Java版本?在

Project Properties > Build Path > Libraries

Window > Preferences > Java > Compiler什麼是Java版本之間的區別說?

回答

3

你的老闆給你看的是已安裝的JDK/JRE,它是1.5,但它們是向後兼容的,所以你可以使1.5 JDK生成1.4兼容的代碼。這是你的項目屬性所看到的(這是看到合適的地方)

所以,

Window > Preferences > Java > Compiler:安裝JDK的和工作區級的編譯器設置。在你的情況下,安裝1.5 JDK,配置爲編譯1.5代碼

Project Properties > Build Path > Libraries:項目特定設置,覆蓋工作區設置。在你的情況下,使用1.5 JDK的J2SE 1.4兼容性生成1.4代碼。你也可以看到項目構面(Java),它應該說是1.4;

+0

謝謝您的輸入。是的,「Project Facet」也是1.4。那麼,我該如何讓JDK 1.5爲該項目生成Java 1.5代碼呢?此外,切換是否會影響應用程序中的任何內容(語法/邏輯)? – Bnrdo

+0

在項目屬性上,您可以檢查Java編譯器部分...並禁用「啓用項目特定設置」。您也可以將Project Facet編輯爲1.5 ...最後,您可以將Java Build Path中的J2SE 1.4條目編輯爲J2SE 1.5條目..或者直接指定1.5 JDK以使用 –

+0

謝謝。 +1已接受。 – Bnrdo

2

Window > Preferences > Java > Compiler:指定當前工作區中的項目使用的默認編譯級別。它也使用在Window > Preferences > Java > Installed JREs

Project Properties > Build Path > Libraries指定的默認JRE:指定由選定的項目中使用的JRE,默認情況下它會爲工作區指定的默認JRE,但它是可以改變的。該項目使用的編譯級可以在位置Project Properties > Java Compiler被發現,這也默認會從工作區複製,但可以爲單個項目

在你的情況下,由於Project Properties > Build Path > Libraries有Java 1.4中,它是用java 1進行修改。4並確保您可以訪問的編譯器合規性級別Project Properties > Java Compiler

+0

感謝您的意見。 +1 – Bnrdo

相關問題