1. 程式人生 > >Eclipse中修改JDK版本的幾個位置簡介

Eclipse中修改JDK版本的幾個位置簡介

在使用Eclipse進行J2EE專案開發的時候,尤其是接手一個古董專案這種情況,經常會因為JDK版本不匹配導致出現很多奇奇怪怪的錯誤,輕則編輯頁面報小紅叉,重則編譯通不過JAVA容器報500錯誤。這裡簡單記一下Eclipse幾個可以修改JDK版本的地方,防止由於JDK版本問題導致開發環境搭建出錯浪費開發人員的時間。

一、工作區的全域性編譯JDK版本

Window-Preferences


這裡設定的是工作區使用的jdk版本,如果這裡設定的不匹配,可能在import的時候就會出錯

這裡設定完畢之後點選Apply就會生效並自動把整個WorkSpace重新build一遍

二、單個Project的編譯版本

同上面全域性的配置相似,用於配置某個工程自己的版本,預設與全域性一致


同樣點選Apply會把該專案重新Build一遍

如果點選上面的‘Installed JREs’那麼就可以開啟JDK配置頁面,可以從oracle官網下載相應的jdk並配置路徑。


三、某個Project的JDK依賴

一般來說,依賴庫選擇不對那麼就會經常在import的時候就報錯,或者某些類的方法呼叫時顯示不存在

在某個專案上右擊,選擇Properties


比如當前專案是按照JDK1.5編寫的,然而當前工作區使用的是JDK1.8,就經常會碰到java.lang.ClassNotFoundException: sun.io.ByteToCharConverter這個報錯,此時只需把JDK依賴改成JDK1.5即可。這樣主要是處理了一些在新版JDK中被去掉的過期類。

四、Ant編譯時JDK版本

在使用Ant進行build前同樣可以設定編譯器的版本,我在使用JDK1.5編譯JDK1.5開發的專案的時候經常編譯失敗,換成1.8就可以了(估計是MyEclipse版本太新的問題,我用的是MyEclipse2015,會報找不到Main Class的錯誤)。但是換成JDK1.8又會碰到過期類的問題,所以最後是用JDK1.6解決的


上圖是在新版Eclipse使用JDK1.5編譯J2EE5會報的錯,實際上是有主類的


五、JAVA容器的執行JDK版本

我在使用JBoss1.6和JDK1.8執行一個struts2專案的時候,出現了所有jsp頁面都打不開的情況。html頁面和靜態資源以及Action類都沒有問題,後來換成JDK1.6就好了。所以說除了專案編譯時的版本外,容器執行的的環境也需要考慮好。


上圖是讓JBoss6 使用JDK1.8的情況下打不開所有JSP頁面時的報錯,換成JDK1.6就可以了