剛剛把做完的項(xiàng)目從JDK5上移植到JDK1.4,事后整理一下,常常記記備忘錄是個(gè)灰常好的習(xí)慣滴.呵.
Struts2.0默認(rèn)的平臺(tái)需求是:
- Servlet API 2.4
- JSP API 2.0
- Java 5
但是因?yàn)橐恍┰?我們必須使用JDK1.4來(lái)編譯,所以只能應(yīng)用Struts提供的J4,來(lái)進(jìn)行一下移植了,說(shuō)實(shí)話,還是挺好的,只需要簡(jiǎn)單的操作,便可以把JDK更改為1.4的了.原本我以為弄不好還得重新寫(xiě)代碼呢,結(jié)果才發(fā)現(xiàn),嗯,如此的簡(jiǎn)單.
好了,不廢話了.
要想應(yīng)用JDK1.4,使用的主要的是Struts2.0的發(fā)行包里提供的J4目錄中的Retrotranslator.利用它可以將原JDK5的包轉(zhuǎn)化成JDK1.4的.關(guān)于Retrotranstator的介紹,可以查看http://retrotranslator.sourceforge.net/,里面寫(xiě)的很詳細(xì).
在J4目錄中,已經(jīng)將Struts2.0基本的兩個(gè)Jar文件轉(zhuǎn)好了,分別是struts2-core-j4-2.0.9.jar和xwork-j4-2.0.4.jar.如果你的程序中還用到的其他的Jar包,可以通過(guò)腳本把Jar包轉(zhuǎn)成J4版本的.我們的程序中用到了spring和sitemesh兩個(gè)Plugin的Jar包,所以需要將這兩個(gè)包轉(zhuǎn)成J4的.
java -jar retrotranslator-transformer-1.2.2.jar -advanced -srcjar ../lib/struts2-sitemesh-plugin-2.0.9.jar -destjar struts2-sitemesh-plugin-j4-2.0.9.jar
java -jar retrotranslator-transformer-1.2.2.jar -advanced -srcjar ../lib/struts2-spring-plugin-2.0.9.jar -destjar struts2-spring-plugin-j4-2.0.9.jar
可以將它們寫(xiě)到一個(gè)Bat文件中,如果你用的是Windows的系統(tǒng)的話,使用Linux的用戶(hù)可以存成sh文件.
執(zhí)行Bat文件,將生成兩個(gè)新的J4版本的包,struts2-sitemesh-plugin-j4-2.0.9.jar和struts2-spring-plugin-j4-2.0.9.jar.
將這四個(gè)Jar包放到WEB-INF/lib中,再將J4目錄中的retrotranslator-transformer-1.2.2.jar, backport-util-concurrent-3.0.jar和retrotranslator-runtime-1.2.2.jar一起放到WEB-INF/lib下.
之后再把自己寫(xiě)的程序中所使用的JDK5的特性去掉,嗯,我們只用了Annotations等幾個(gè)特性,所以改起來(lái)還是相當(dāng)容易了.
至此,你的程序應(yīng)該就可以在JDK1.4上運(yùn)行了.
我使用的環(huán)境Tomcat5.0+jdk1.4.運(yùn)行我修改后的程序,測(cè)試通過(guò)......
Over
PS:程序開(kāi)發(fā)到后期,才告知運(yùn)行環(huán)境有變,真的很讓人郁悶啊