`
江南白衣
  • 浏览: 550114 次
  • 来自: 广州
社区版块
存档分类
最新评论

用Retroweaver 在JDK1.4上使用JDK5.0的特征

阅读更多

   作者:江南白衣     

    原文出处及讨论: 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 AtrributesBackport175在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,这个问题倒不大。



分享到:
评论
1 楼 a14 2011-08-28  
"Retroweaver支持的是JDK5.0的新语法特性,而JDK5.0新增的API它是不包的。
    幸亏IDEA的plug-in,能提醒你有没有使用了超越目标JDK的AP"针对这句话想问下楼主,既然要用1.5的新语法特性,那就要在把编写环境设置为1.5吧,那么又说deea的plug-in(指的是Retroweaver插件吧?)能提醒我有没有使用了超越目标JDK的API,既然jdk都用了1.5了,自然不会超过了,也就是说还是可能用到新的api然后导致编译出来后的东西,在1.4上运行出错吧!对此请教下楼主。

相关推荐

    旧版本JDK JDK1.4

    虽然JDK 1.4已经不再是最新的Java版本,但它在Java历史上的地位不容忽视。许多特性如NIO、枚举和正则表达式在后续版本中继续发展和完善,成为了现代Java开发的基础。随着J2SE 5.0(Java SE 5)的发布,一些更先进的...

    JDK1.4老版本

    总之,JDK 1.4作为Java历史上的一个重要版本,其特性对后续的Java开发产生了深远影响,对于想要深入研究早期Java框架的开发者来说,它是不可或缺的知识源泉。通过学习和理解JDK 1.4,我们可以更好地欣赏Java技术的...

    jdk 1.4 旧版 windows zip压缩包

    JDK 1.4是Java历史上的一个重要版本,发布于2004年,它是Java 2平台标准版(J2SE)的一部分。在这个版本中,Java引入了许多新的特性和改进,对于Windows操作系统用户来说,这个版本的JDK在当时的软件开发环境中扮演...

    JDK1.4老版本.zip

    总的来说,JDK1.4是Java发展史上一个至关重要的版本,它不仅引入了许多至今仍然被广泛使用的特性,而且为后续的Java版本奠定了坚实的基础。对于想要深入理解Java框架和底层技术的开发者而言,研究JDK1.4无疑是一个有...

    jdk1.4绿色免安装版

    在使用JDK 1.4绿色版时,只需将解压后的文件夹添加到系统的PATH环境变量中,确保系统可以找到所需的可执行文件,然后就可以开始编写和运行Java程序了。 总结,JDK 1.4绿色免安装版是一个便捷的开发工具,尽管已经有...

    java 开发工具 jdk 1.4 免安装版

    JDK 1.4版本是Java历史上的一个重要里程碑,发布于2002年,它在JDK 1.3的基础上进行了大量的改进和增强。以下是一些主要的特性与知识点: 1. **增强的异常处理**:JDK 1.4引入了`finally`块的省略,当`try`块中只有...

    jdk1.4-jdk1.4

    jdk1.4非安装版,可直接在MyEclipse等IDE工具导入jdk相应的版本。希望对你们有用处。

    Struts2 在JDK1.4下运行(J4)

    尽管如此,通过一些调整和配置,仍然可以使其在JDK1.4上运行,这就是"Struts2 in JDK1.4"(J4)的主题。 首先,我们需要理解JDK1.4与更高版本的区别。JDK1.4是Java的一个较早版本,其中不包含一些后来引入的重要...

    axis2 jdk1.4用jar

    标签“jdk1.4”和“axis2”进一步强调了这个话题的核心,即在JDK 1.4上使用Apache Axis2。在实际开发中,这可能意味着开发者需要解决兼容性问题,例如处理旧版本的Java类库,或者避免使用新版本JDK中的特定API,以...

    jdk1.4源代码

    JDK1.4是Java开发工具包的一个重要版本,它在Java发展历程中扮演了关键角色。这个版本发布于2002年,带来了许多新的特性和改进,为后续版本奠定了基础。在此源代码中,我们可以深入理解Java语言的实现细节,以及Java...

    jdk1.4 json包 6个全

    这六个jar文件组合在一起,构成了一个完整的JSON处理环境,特别适合基于JDK1.4的项目使用。通过这些库,开发者可以轻松地在Java程序中解析、创建和操作JSON数据,从而实现与服务器或其他应用程序之间的数据交换。...

    JDK1.4.0.17 for win64

    在64位系统上使用32位JDK可能会遇到内存限制,因为32位进程最大只能使用约4GB的内存。尽管如此,对于那些需要在64位环境下运行旧代码或兼容旧库的开发者来说,这个版本的JDK依然具有价值。 **文件名解析:jdk-1_5_0...

    jdk1.4安装文件

    JDK 1.4是Java编程语言的一个重要版本,由Sun Microsystems在2003年发布。它包含了Java运行环境(Java Runtime Environment, JRE)以及开发工具,如Java编译器(javac)、Java应用程序启动器(java)和Java文档生成...

    jdk1.4 linux版本安装包资源 下载

    之前好些人找我要1.4linux版本,现在分享出来

    JDK1.4 运行struts2

    例如,注解支持是在JDK5引入的,所以在JDK1.4下你不能使用注解进行配置。 - **库版本**:确保所有依赖库都是与JDK1.4兼容的。有些库可能需要较新的JDK才能运行,所以需要特别注意选择正确的版本。 - **性能**:...

    JDK1.4中文开发手册

    **JDK 1.4中文开发手册**是Java开发者的重要参考资料,它详尽地阐述了JDK 1.4版本中的各种特性和API。JDK(Java Development Kit)是Java编程语言的核心工具集,包含了编译器、调试器、文档生成工具以及Java运行时...

    jdk1.4绿色版本

    "绿色版本"通常指的是一个便携式的、无需安装的JDK版本,它包含所有必要的组件,可以方便地在不同的计算机系统上运行,而不会对主机系统造成影响。 **主要特性** 1. **异常链(Exception Chaining)**: 这个特性...

    JDK1.4 JDK1.5

    通过以上三个步骤的操作,可以在同一台计算机上同时安装并正确切换使用JDK1.4和JDK1.5。这对于需要处理不同版本Java代码的开发者来说非常有用。需要注意的是,在进行此类操作时一定要谨慎,以免造成系统不稳定或其他...

Global site tag (gtag.js) - Google Analytics