剛剛把做完的項目從JDK5上移植到JDK1.4,事后整理一下,常常記記備忘錄是個灰常好的習慣滴.呵.
Struts2.0默認的平臺需求是:
- Servlet API 2.4
- JSP API 2.0
- Java 5
但是因為一些原因,我們必須使用JDK1.4來編譯,所以只能應用Struts提供的J4,來進行一下移植了,說實話,還是挺好的,只需要簡單的操作,便可以把JDK更改為1.4的了.原本我以為弄不好還得重新寫代碼呢,結果才發現,嗯,如此的簡單.
好了,不廢話了.
要想應用JDK1.4,使用的主要的是Struts2.0的發行包里提供的J4目錄中的Retrotranslator.利用它可以將原JDK5的包轉化成JDK1.4的.關于Retrotranstator的介紹,可以查看http://retrotranslator.sourceforge.net/,里面寫的很詳細.
在J4目錄中,已經將Struts2.0基本的兩個Jar文件轉好了,分別是struts2-core-j4-2.0.9.jar和xwork-j4-2.0.4.jar.如果你的程序中還用到的其他的Jar包,可以通過腳本把Jar包轉成J4版本的.我們的程序中用到了spring和sitemesh兩個Plugin的Jar包,所以需要將這兩個包轉成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
可以將它們寫到一個Bat文件中,如果你用的是Windows的系統的話,使用Linux的用戶可以存成sh文件.
執行Bat文件,將生成兩個新的J4版本的包,struts2-sitemesh-plugin-j4-2.0.9.jar和struts2-spring-plugin-j4-2.0.9.jar.
將這四個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等幾個特性,所以改起來還是相當容易了.
至此,你的程序應該就可以在JDK1.4上運行了.
我使用的環境Tomcat5.0+jdk1.4.運行我修改后的程序,測試通過......
Over
PS:程序開發到后期,才告知運行環境有變,真的很讓人郁悶啊