【问题标题】:Is there still a good reason to support JDK 1.4? [closed]是否还有充分的理由支持 JDK 1.4? [关闭]
【发布时间】:2009-07-26 19:38:24
【问题描述】:

我正在考虑用 Java 编写一个开源项目,并且正在激烈争论不支持 JDK 1.4 及更早版本。该框架绝对可以使用较旧的 Java 模式和惯用语编写,但会真正受益于更成熟的 1.5+ 版本的功能,例如泛型和注释。

所以我真正想知道的是,在选择框架时,对旧 JDK 的支持是否是主要决定因素?

可以理解,有些遗留系统被旧的 JDK 卡住了,但除了后勤问题,有没有人有令人信服的技术理由支持 1.4 JDK?

谢谢,

史蒂夫

【问题讨论】:

    标签: open-source frameworks legacy java


    【解决方案1】:

    我想不出任何技术上的理由来坚持主流 Java 的 1.4 兼容性,但特定的移动或嵌入式设备可能除外(请参阅关于 Jon 的回答的讨论)。旧版支持必须有限制,而 1.5 已经有将近 5 年的历史了。在我看来,让人们继续前进的更有说服力的理由就更好了。

    更新(我无法入睡):可以考虑的一个很好的先例是Spring 3 will require Java 5 (pdf)。还要考虑到大公司正在使用或即将使用的大量服务器 EOL(WAS 5.1 不支持 since Sep '08,JBoss 4.0 支持 ends Sep '09)并且 Java 1.4 本身是 out of support since Oct '08

    【讨论】:

      【解决方案2】:

      是否有人可能想在黑莓或类似移动设备上使用它?我不相信他们通常支持 1.5。

      【讨论】:

      • 我的观点很笼统,但你确定黑莓需要 Java 1.4 或更早版本吗,据我所知,黑莓 4.1 及更高版本现在需要 1.5:today.java.net/pub/a/today/2009/07/02/…
      • 这是在讨论您需要针对黑莓开发 的内容,而不是在黑莓上运行 的内容。据我所知,J2ME 仍然是前泛型。
      • (J2ME v3.0 可能已经取消了这个限制,但我不想肯定地说。有很多可能性!)
      • 很难确定!对于“大型”Java(即非移动/嵌入式设备)的开发,您是否认为有任何理由坚持使用 1.4?
      • (在这种情况下,我实际上不会以此作为避免使用 1.5 的理由,请注意 - 这些地方通常过于保守,无法采用另一个库 :)
      【解决方案3】:

      我们的客户只安装了 1.4 (AS/400),安装较新的 JVM 是一项巨大的繁重任务。所以,我是认为 Java 1.4 兼容性很重要的人之一。

      注意:这很可能在编译后使用 Retrotranslator 实现。然后,您将使用带有原始 jar 的 Java 1.5 和带有已翻译 jar 的 Java 1.4 进行所有测试。

      http://retrotranslator.sourceforge.net/

      【讨论】:

      • 你有我的同情!我喜欢那个复古翻译器的样子;在这种情况下对我没有多大帮助,但知道 htere 是一个后备位置很方便。谢谢。
      【解决方案4】:

      JDK 1.4 早在 2008 年 10 月就停止了 Sun 的支持。我能想到的为什么您应该支持在不受支持的 JVM 上运行的软件的唯一原因是向后兼容性和仍然严重依赖的客户群就可以了。

      【讨论】:

      • 您仍然可以购买 Java for Business 对 1.4 的支持,而且计划还会持续几年。
      • 同意,但是“......我正在考虑用 Java 编写一个开源项目......”听起来这个项目还没有开始。在 JDK 5 或更高版本上标准化仍然是一个选项。个人觉得比较合适。
      【解决方案5】:

      我认为这取决于您的项目是什么。我们有一个仍然使用 J2SE 1.4(JRun、WebSphere 6)的客户端。

      虽然我们的客户都没有使用 J2SE 1.3,但我们有一些核心组件,我们试图在这些组件上保持 J2SE 1.3 的兼容性(非常基本的、高度可重用的东西)。

      也就是说,这可能不是问题。对于我们的客户,我们可以通过Retroweaver 运行 JAR/类来使用一些 J2SE 1.5 编译库。

      【讨论】:

      • 我在使用 retroweaver 时遇到了一些问题(不记得是哪一个),但 retrotranslator 工作没有任何问题。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-09-16
      • 1970-01-01
      • 2023-04-05
      • 2011-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多