• 项目从jdk1.5移植到jdk1.4 - [小知识记录]

    2011-03-01

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://peony07.blogbus.com/logs/107368003.html

        进入项目组的时候,项目框架就已经搭好了,Struts2+spring2.5.6+ibatiS2.3.4+jdk1.5. 可能是以前一直用s1sh的架子,一直都很难接受ibatiS的配置模式,所以对这框架不怎么感冒。但是我是农民工嘛,说啥做啥呗。谁知项目都快要上线了,老大抛出一个雷,生产环境犹豫某些原因只能用jdk1.4......我勒个去!struts2  默认需求就是jdk1.5,悲剧了。

         要想应用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和ibatis两个Jar包,所以需要将这两个包转成J4的.执行以下命令之前需要把Retrotranslator-1.2.9-bin.zip下的文件解压到你的jdk1.5的bin目录下。

    java -jar retrotranslator-transformer-1.2.9.jar -advanced -srcjar D:\lib\spring-framework-2.5.6.jar -destjar D:\lib\j1.4\spring-framework-j4-2.5.6.jar;java -jar retrotranslator-transformer-1.2.9.jar -advanced -srcjar D:\lib\ibatis-2.3.4.726.jar -destjar D:\lib\j1.4\ibatis-j4-2.3.4.jar;

    转换之后把新的包加载进系统,再将J4目录中的retrotranslator-transformer-1.2.2.jar, backport-util-concurrent-3.0.jar和retrotranslator-runtime-1.2.2.jar一起放到WEB- INF/lib下.并修改新工程的编译级别为1.4。当然项目中用到的jdk1.5的特性都是需要手动修改的,我们系统中用到了大量的泛型,以及一些循环,额,改起来比较费劲,足足改了一上午。 然后启动tomcat,还是报错,进入tomcat的启动日志看,发现还有一些用到的插件包需要转换,

        java -jar retrotranslator-transformer-1.2.9.jar -advanced -srcjar D:\lib\struts2-convention-plugin-2.1.8.1.jar -destjar D:\lib\j1.4\struts2-convention-plugin-j4-2.1.8.1.jar;  java -jar retrotranslator-transformer-1.2.9.jar -advanced -srcjar D:\lib\struts2-spring-plugin-2.1.8.1.jar -destjar D:\lib\j1.4\struts2-spring-plugin-j4-2.1.8.1.jar;  java -jar retrotranslator-transformer-1.2.9.jar -advanced -srcjar D:\lib\jsonplugin-0.34.jar -destjar D:\lib\j1.4\jsonplugin-j4-0.34.jar;

    一次次的调试,重启了3次····最后终于不报错了。tomcat5.0+jdk1.4.2测试通过。

    PS:项目做到这种地步,哎·我都不说什么了。不过这次的问题是由我来解决的,个人还是比较有成就感的,因为没有经验,开始时心里是没底的,硬着头皮上,最后摸摸索索,还是给整出来了。所以觉得再烂的项目,也有值得你学习的地方,值得你认真对待的方面,没有试过怎会知道结果呢。老大一直想我把业务这一块把控起来,我比较懒,怕麻烦,一直在推托,现在想想,也许是时候踏出那一步了。


    收藏到:Del.icio.us




    评论

  • 不是吧,这往后调试,从没试过、
  • 从先进的1.5倒退回1.4啊,这个有点难度啊。