2012-03-23 82 views
0

本地我需要針對Java 1.4編碼。強制Eclipse僅使用Java 1.4

我想在這個崗位 how to restrict jdk api version in eclipse

但是Eclipse中依然提供了代碼完成String.contains這是隻在Java 1.5中提供也沒有提供該紅色的X錯誤標記的建議。

如何才能讓Eclipse僅爲Java 1.4類和方法提供代碼完成,並警告使用Red X我不能使用1.4版以上的東西?

+0

您是否設置了編譯級別?它也應該設置爲1.4。我猜你剛剛添加了JRE。 – kosa 2012-03-23 19:56:32

+0

我的編譯器兼容級別設置爲1.4。但是在我的電腦上安裝的是1.6。正如ajozwik指出的,我可能需要在我的電腦上安裝JDK 1.4,所以在本地編碼時,如果類超出範圍,我會得到RED X。 – jeff 2012-03-23 20:06:00

回答

5

您必須在您的計算機上安裝java版本1.4.2並定義jre 1.4.2。只用1.4來設置兼容性是不夠的,因爲你仍然看到1.5 api

+0

這聽起來很對。 IT使我們的電腦保持最新的JDK,但在我們的網絡服務器,他們仍然有1.4 – jeff 2012-03-23 20:02:34

+0

在eclipse偏好 - > java - >安裝jre並添加jdk 1.4。接下來進入執行環境並選擇J2SE-1.4並檢查jdk 1.4 – 2012-03-23 20:05:27

+0

這不是在我的問題的鏈接中描述的方式嗎?但沒有實際下載jdk 1.4?現在我選擇了J2SE-1.4(jdk1.6.0_22)如果我下載1.4,它會讀取J2SE-1.4(jdk1.4.2)嗎?我認爲執行環境的重點是能夠降級版本,而不必實際下載和安裝該版本。 – jeff 2012-03-23 20:13:25

0

右鍵單擊您的項目並轉到屬性。檢查Java編譯器選項以確保jdk符合性符合1.4。

0

轉到項目屬性 - > Java編譯器,並確保所有的JDK遵從設置在1.4

0

轉到項目設置 - > Java編譯器,取消默認遵守守則,並選擇1.4。

+0

如果安裝的所有JDK都是以後版本,則這不起作用。編譯器不知道每個版本庫(classes.jar)中的內容。 – 2012-03-23 20:12:27

1

除非你真的安裝了JDK 1.4,否則Eclipse的編譯器不能知道像String.contains()這樣的東西不在該版本中。指定執行環境只是告訴它它只能執行與Java 1.4兼容的編譯,但像String類中的方法是類庫(classes.jar)的一部分,而不是Java語言級別固有的。因此,如果你擁有的只是後面的JDK,那麼編譯器會在classes.jar中看到String.contains(),並因此編譯你的代碼。

因此,安裝JDK 1.4,然後在Preferences的Installed JRE部分設置它;還要確保它被設置爲1.4執行環境的默認值。

0

您可以強制Eclipse中使用任何以前的Java版本以下步驟:

步驟

  1. 右鍵單擊項目和開放性點擊屬性選項。
  2. 選擇Java編譯器選項。
  3. JDK符合類別取消選中從執行使用合規...選項
  4. 編譯器合規水平現在,選擇需要的Java版本(1.4):選項
  5. 並點擊OK

結果

現在eclipse將使用所需的以前版本(比如說1.4),即使你已經安裝/配置了1.7或8.0,也不需要明確安裝它。