首先讲一下Struts2的标准开发环境:
1.Servlet API 2.4
2.JSP API 2.0
3.Java 5
(还算是比较标准吧?呵呵)
但是,在某些情况下你得使用JDK1.4来开发(比如我参与的项目),很显然不符合Java 5的这个标准,怎么办?不要慌,Struts2的开发人员已经想到了。先讲一下struts2的包的目录结构吧,解压struts2的zip包(我这里是 struts-2.0.1-all.zip包,官网下的),会有如下几个目录和文件:

apps:里面一些war文件,应该是一些用struts2开发的一些例子,我没跑过,猜得。
docs:包含了API、FAQs等等文件,打开docs更目录下面的index.jsp自己慢慢浏览吧。
j4: 一些.jar文件和其他文档文件。
lib: 很显然是struts2提供的标准的接口文件。
src: struts2的源代码。
LICENSE.txt:不解释!
NOTICE.txt: 不解释!

好了,struts2的包结构解释就这样,如果你是使用标准的开发环境(文章头说过的),那么你只需要将lib目录下面的文件全部copy到你的lib目录下就行了。
我要使用JDK1.4的开发环境怎么办?那么就使用J4目录中的东西啦!

在J4目录中,已经将Struts2基本的两个jar文件转好了,分别是struts2-core-j4-2.0.1.jar和xwork-j4-2.0-beta-1.jar。

用这两个包替换掉lib里面的struts2-core-2.0.1.jar和xwork-2.0-beta-1.jar两个包就行了,如果你的程序中还用到的其他的jar包,可以通过脚本把jar包转成J4版本的,比如:
java -jar retrotranslator-transformer-1.2.2.jar -advanced -srcjar ../lib/<名字1>.jar -destjar <名字1>.jar
可以将它们写到一个Bat文件中,如果你用的是Windows的系统的话

至此,你的程序应该就可以在JDK1.4上运行了.

用JDK1.4开发需要的几个基本jar包如下:

struts2-core-j4-2.0.1.jar<J4文件夹>

xwork-j4-2.0-beta-1.jar<J4文件夹>

retrotranslator-runtime-1.0.8.jar<J4文件夹>

retrotranslator-transformer-1.0.8.jar<J4文件夹>

freemarker-2.3.4.jar<lib文件夹>

commons-logging-1.0.4.jar<lib文件夹>

backport-util-concurrent.jar<J4文件夹>     

ognl-2.6.7.jar<lib文件夹>

struts2-api-j4-2.0.1.jar<J4文件夹>
注意:在jdk1.4下运行时,不要多加jar包。struts2-core,xwork这两个转换成jdk1.4下的版本后,别的不会再转了。如果使用别的包时,转一个加一个试试,struts2在加入jar包时,可能有问题,使用时小心。



开心过好每一天。。。。。