剛剛把做完的項(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來編譯,所以只能應(yīng)用Struts提供的J4,來進(jìn)行一下移植了,說實(shí)話,還是挺好的,只需要簡單的操作,便可以把JDK更改為1.4的了.原本我以為弄不好還得重新寫代碼呢,結(jié)果才發(fā)現(xiàn),嗯,如此的簡單.
好了,不廢話了.
要想應(yīng)用JDK1.4,使用的主要的是Struts2.0的發(fā)行包里提供的J4目錄中的Retrotranslator.利用它可以將原JDK5的包轉(zhuǎn)化成JDK1.4的.關(guān)于Retrotranstator的介紹,可以查看http://retrotranslator.sourceforge.net/,里面寫的很詳細(xì).
在J4目錄中,已經(jīng)將Struts2.0基本的兩個(gè)Jar文件轉(zhuǎn)好了,分別是struts2-core-j4-2.0.9.jar和xwork-j4-2.0.4.jar.如果你的程序中還用到的其他的Jar包,可以通過腳本把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
可以將它們寫到一個(gè)Bat文件中,如果你用的是Windows的系統(tǒng)的話,使用Linux的用戶可以存成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下.
之后再把自己寫的程序中所使用的JDK5的特性去掉,嗯,我們只用了Annotations等幾個(gè)特性,所以改起來還是相當(dāng)容易了.
至此,你的程序應(yīng)該就可以在JDK1.4上運(yùn)行了.
我使用的環(huán)境Tomcat5.0+jdk1.4.運(yùn)行我修改后的程序,測試通過......
Over
PS:程序開發(fā)到后期,才告知運(yùn)行環(huán)境有變,真的很讓人郁悶啊