Struts2 在JDK1.4下運行(J4)

注:項目部署到TOMCAT沒問題,到weblogic就有問題:一般是JDK問題,再就是classloader問題。

 

由於Struts2在jdk1.4的weblogic8.x下運行報錯,發現是開發環境問題,故整理如下:

 

Struts2的開發標準是基於jdk1.5的,部署到jdk1.4環境下運行會報錯,如果想把struts2項目部署到jdk1.4的環境下運行,還需要用struts2自帶的J4把相關jar包轉成1.4的。

 

Struts2的標準開發環境:
1.Servlet API 2.4
2.JSP API 2.0
3.Java 5

 

在struts-2.0.11-all.zip包中有個J4文件夾,這個就是將struts2的jar包轉成1.4環境下的。文件夾內自帶例子。

 

步驟:
1.設置編譯環境爲jdk1.4
eclipse中:選擇項目-右擊-Java Compiler:選擇1.4


2.把自己代碼中所有1.5的特性都改成1.4


3.web.xml改成servlet2.3規範的

<web-app version="2.3" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee  
http://java.sun.com/xml/ns/j2ee/web-app_2_3.xsd">

 
struts2由於是jdk1.5編譯的,需要用retrotranslator轉換。
把jar包轉成J4版本(translate.bat),比如:
java -jar retrotranslator-transformer-1.2.2.jar -advanced -srcjar ../lib/<名字1>.jar -destjar <名字1>.jar

 


struts2-core-j4-2.0.11.1.jar和xwork-j4-2.0.4.jar是原本已經轉好了的,在J4目錄下。
最後還需要把backport-util-concurrent-3.0.jar,retrotranslator-runtime-1.2.2.jar,retrotranslator-transformer-1.2.2.jar和你轉好的包放到我們web項目的lib目錄下,原來的刪除.


參考

http://ttlz.iteye.com/blog/168125
http://www.blogjava.net/hill/archive/2009/06/12/281852.html
http://www.open-china.net/blog/40946.html
http://micheal19840929.iteye.com/blog/698240

 

 

經過測試,成功運行在1.4.

 

附件說明:

j4.rar:轉換工具

trans_j4.rar:轉換後的struts2 JAR文件

2.0.11.rar:轉換前的struts2 JAR文件

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章