2015年8月25日 星期二

eclipse mars ant not support jdk 1.6

每次到了新環境,就得再建一次開發工作環境~

然後~每次這時後的 Eclipse,都會讓人吐血一次...誰叫偶換地方的速度跟他改版的速度一樣=_=a...
這也是我討厭他的地方...

唉~總之現在可以download下來的版本是 mars...
mars有個前提,要使用jdk7以上的版本才能啟動~
(對於 死忠 jdk 1.6的偶來說,真是個很麻煩的部份。總之~先灌1.6,最後再灌1.7以上的版本,ide就可以順利的開起來了)

說起來也不只是因為1.6是sun留下的最後一大版,另一個重要的原因是~阿就以前的系統都是以1.5/1.6為大宗(因為這兩版的相容性做得比較好)

先不爽一下1.7的問題,jdk1.7後拔掉一內建在1.6內的 sun的package,造成前人用這些method的都會有Class NotFound 的問題...解法有兩種:
一是把編譯運行的環境都改成jdk6,這是比較好的作法。
二是如果只是為了開發,又不想回去重裝jdk,就是引用6 裡的 rt.jar...或是看是在6裡面的那個jar,多個jar當lib就過了~

然後~因為這次的專案build,只能用ant跑~(因為前人寫了個很精美的build.xml...)
所以...就發現,這mars版本的ant 在跑指定jdk為 6時,會出現 不支援舊 jdk的訊息...
google了一下,目前,他是個bug...沒有什麼解....

所以~就....只好去找原生的ant下來(apache ant)...
http://ant.apache.org/bindownload.cgi
download zip下來,解開。好像看作業系統,windows去環境變數設定JAVA_HOME到 jdk6 的位置去~就可以了~
然後就開個cmd....
cd 到那個專案的build資料夾(ex: cd D:\workspace\myproject\build)
執行ant指令(ant.bat) (D:\apache-ant-1.9.6\bin\ant)
預設是跑build.xml...
總之要加別的就自己加指令~
ex: 指定task (ant mytask)
可參照
https://ant.apache.org/manual/running.html

目前看起來是自己另外call ant能跑起來了就好Orz...