??? 因為Retrotranslator的出現,SpringSide終于放心升到JDK5.0,只要用戶在build的時候選擇war14 task,生成的war就保證仍然100%運行在JDK1.4的服務器上。在最新的retrotranslator 1.0.7 支持下,SpringSide在Tomcat 5.0+JDK1.4上部署成功。
????不能隨意更改運行環境JDK的歷史項目,客戶真金白銀買了不支持JDK5的Weblogic8.1的項目,一般只能看著JDK5的annotation、泛型和EJB3干咽口水,所以上帝說要有光,我們有了這個恩物。
????和以前推薦的Retroweaver一樣,大家直接用JDK5開發,如果需要部署到JDK1.4的運行環境,就通過asm把Class轉到JDK1.4的字節碼。
?但它不僅支持JDK5的新語法,還大量支持JDK5的新增API。
? Retrotranslator的用法很簡單,可以用命令行、Ant和IDEA插件自動轉換,http://retrotranslator.sf.net 上講得很清楚,可以轉換Jar,也可以轉換Class目錄。
???比較特別的是有個Verify選項,能確保你沒有用到它暫時還不支持的JDK5 API(記得Classpath里要加入JDK1.4的rt.jar)。
附:springside war14 任務簡述
??? war14在打包時,會調用/misc/jdk14/build.xml, 為drools,compas,easymock2等幾個使用了JDK1.5技術的jar 生成jdk1.4的版本,并為項目的classes 目錄生成JDK1.4的版本,然后用它們替換war中原來的內容即可。
注意用戶可能要自己在/misc/jdk14/build.properties中設一下jdk1.4的路徑。
build.xml 片斷:
????????<taskdef?name="retrotranslator"?classpathref="compile.classpath"???????????????classname="net.sf.retrotranslator.transformer.RetrotranslatorTask"/>
????????<retrotranslator?destdir="classes"?verify="true">
????????????<src?path="../../springside-bookstore/webapp/WEB-INF/classes"/>
????????????<classpath?location="${jdk14_home}/lib/rt.jar"/>
????????????<classpath?refid="compile.classpath"/>
????????</retrotranslator>
</target>
當然,即使有retrotranslator,也要大家真的狠下決心去用才行。所以,可能會以1.0 系列發布一些實驗性較強的東西,以0.8系列繼續發布JDK1.4的東西, 到1.0最終回的時候就同時發布兩個版本。
好吧,略微修改一把。
ss越來越全面了,也越來越受到大家的青睞了.
支持呀,
我的需求是,我們開發時用的是JDK5 +Tomcat5,但是最后給客戶布署時用的是weblogic8.1
先謝過!
www.tgod.com.cn
WEB代理竟然好用,難得啊。。
開心開心。。