作者:江南白衣
原文出处及讨论: http://www.blogjava.net/calvin/archive/2006/01/13/27913.html
稳健的开发团队一般不会随意升级项目的JDK,而那些真金白银买了Weblogic的用户,因为Weblogic9以下都不支持JDK5.0,就更不会升级了。然后,看着EJB3,Spring 2不断有新功能和annotation相关,而自己的系统架构只能按兵不动。
本来SpringSide为了适用范围,已经决定坚守JDK1.4了,但忽然发现Retroweaver这个好东西,能够在JDK1.4上获得annotation,范型,autoboxing的语法特征。介绍文章有
JetBrains IDEA中文:Retroweaver简介
IBM DW:Classworking 工具箱: 在旧版 JVM 上使用 J2SE 5.0 特性
James Strachan's Weblog
本来担心开源项目不可靠,但JetBrains IDEA已经为它做了背书,用它把IDEA的代码逐步升级为JDK5.0 而仍然可在JDK1.4上运行。
和Jarkarta Common Atrributes,Backport175在JDK1.4语法下支持annotation的别扭思路不同,Retroweaver允许你直接用JDK5.0进行开发,然后在byte code级把它转换回JDK1.3,1.4支持的指令。
而且,IDEA提供了一个plug-in,把转换的动作透明的集成了。
典型应用场景1:某类库用JDK5编译,不能在JDK1.4上运行。
今天的FunctionalJ就是这个情况。
我把jar包解开,用Retroweaver自带的GUI把里面的class文件转换后重新打包,成功运行!!!
典型应用场景2:项目里使用Spring 2.0,Drools的annotation、autoboxing特征
直接把项目的JDK设为5.0,在JDK5.0下使用上述特征,编译后通过命令行、ant脚本把class文件降为JDK1.3,JDK1.4版。
如果你用的是IDEA,插件能透明的完成这步操作。
注意:Retroweaver支持的是JDK5.0的新语法特性,而JDK5.0新增的API它是不包的。
幸亏IDEA的plug-in,能提醒你有没有使用了超越目标JDK的API。
如果你的目的只是在JDK1.4上使用Spring的annotation,这个问题倒不大。
分享到:
相关推荐
jdk1.4非安装版,可直接在MyEclipse等IDE工具导入jdk相应的版本。希望对你们有用处。
j2sdk java jdk java 开发工具 jdk 1.4 免安装版
JDK1.4,1.5,1.6的区别JDK1.4,1.5,1.6的区别JDK1.4,1.5,1.6的区别JDK1.4,1.5,1.6的区别JDK1.4,1.5,1.6的区别JDK1.4,1.5,1.6的区别JDK1.4,1.5,1.6的区别JDK1.4,1.5,1.6的区别JDK1.4,1.5,1.6的区别JDK1.4,1.5,1.6的区别...
jdk1.4老版的JDK,不常用了,有特殊需要的可以下载。
之前好些人找我要1.4linux版本,现在分享出来
这是JDK1.4的源代码,供学习参考。 它是早期发布的Jdk的源代码。
jdk1.4绿色版本
本文档演示在VMWARE6.0虚拟的Redhat5.2系统上部署简单的web应用,软件jdk1.4.2+tomcat5.0.30+mysql5.0 附详细步骤截图,共56页
兼容 jdk 1.4 的json jar包,经过测试支持JDK1.4,记得导入依赖JAR包
JAVA JDK 小版本为JDK1.4.2.17 32位安装包。备份留着自己使用。
jdk1.4,绿色版,免安装版,对于旧的jdk代码可以运行。
JDK1.4工程下json解析包集合(内含6个jar包),可以解决项目工程在JDK1.4下对对象的JSON解析。亲测有效,希望能
因为听同事说官网木有jdk1.4下载了
jdk1.4.2.17
2.1 下载第三方QRCode.jar包和现有案例,先验证在jdk高版本是否可以正常使用 2.2 下载jd-gui反编译工具,保存源码 3.3 把源码和现有案例放到一个工程下,jdk修改为jdk1.4后报错,逐步修改错误,错误修复后,生成...
java_jdk1.4 api 中文手册
当操作系统中同时安装了JDK1.4和JDK1.5,如何更改环境变量等设置。
jdk源码开发学习必备..........(jdk1.4的安装目录中也有改文件)
jdk1.4api的各种对象使用example ,非常好的东西
jdk1.4 json包 ,之前上传的 大家说依赖包没有,这个6个一起的