Sun 早在 2008 年 10 月就不再支持 JDK 1.4。我能想到的唯一原因是您应该支持在不受支持的 JVM 上运行的软件,原因是向后兼容性以及仍然严重依赖它的客户群。
JDK 1.4 went out of support from Sun back in Oct 2008. The only reasons I can think of why you should support your software running on an out-of-support JVM would be backwards compatibility and a customer base that still depended heavily on it.
I think it depends on what your project is. We have a client that still uses J2SE 1.4 (JRun, WebSphere 6).
While none of our clients are on J2SE 1.3, we have a few core components that we try to maintain J2SE 1.3 compatibility on (really basic, highly re-usable stuff).
That said, this may not be an issue. For our client, we were able to use some J2SE 1.5 compiled libraries by running the JAR/classes through Retroweaver.
We have customers who have only 1.4 installed (AS/400) and where it is an immense burdensome task to have a newer JVM installed. So, I am one of those who would consider Java 1.4 compatability important.
Note: This can most likely be achieved with Retrotranslator after compilation. You would then do all your tests both with a Java 1.5 with the original jars, and a Java 1.4 with the translated jars.
I can't think of any technical reason to stick with 1.4 compatibility for mainstream Java with the possible exception of particular mobile or embedded devices (see discussion on Jon's answer). Legacy support has to have limits and 1.5 is nearly 5 years old. The more compelling reasons to get people to move on the better in my opinion.
发布评论
评论(5)
Sun 早在 2008 年 10 月就不再支持 JDK 1.4。我能想到的唯一原因是您应该支持在不受支持的 JVM 上运行的软件,原因是向后兼容性以及仍然严重依赖它的客户群。
JDK 1.4 went out of support from Sun back in Oct 2008. The only reasons I can think of why you should support your software running on an out-of-support JVM would be backwards compatibility and a customer base that still depended heavily on it.
我认为这取决于你的项目是什么。 我们有一个仍然使用 J2SE 1.4(JRun、WebSphere 6)的客户端。
虽然我们的客户都没有使用 J2SE 1.3,但我们有一些核心组件试图保持 J2SE 1.3 兼容性(非常基本、高度可重用的东西)。
也就是说,这可能不是问题。 对于我们的客户,我们能够通过 Retroweaver 运行 JAR/类来使用一些 J2SE 1.5 编译的库。
I think it depends on what your project is. We have a client that still uses J2SE 1.4 (JRun, WebSphere 6).
While none of our clients are on J2SE 1.3, we have a few core components that we try to maintain J2SE 1.3 compatibility on (really basic, highly re-usable stuff).
That said, this may not be an issue. For our client, we were able to use some J2SE 1.5 compiled libraries by running the JAR/classes through Retroweaver.
我们的客户只安装了 1.4 (AS/400),安装更新的 JVM 是一项非常繁重的任务。 因此,我是认为 Java 1.4 兼容性很重要的人之一。
注意:这很可能可以在编译后使用 Retrotranslator 来实现。 然后,您将使用带有原始 jar 的 Java 1.5 和带有翻译后的 jar 的 Java 1.4 来完成所有测试。
http://retrotranslator.sourceforge.net/
We have customers who have only 1.4 installed (AS/400) and where it is an immense burdensome task to have a newer JVM installed. So, I am one of those who would consider Java 1.4 compatability important.
Note: This can most likely be achieved with Retrotranslator after compilation. You would then do all your tests both with a Java 1.5 with the original jars, and a Java 1.4 with the translated jars.
http://retrotranslator.sourceforge.net/
有人可能想在黑莓或类似的移动设备上使用它吗? 我不相信他们普遍支持1.5。
Is it possible that someone might want to use it on a Blackberry or similar mobile device? I don't believe they generally support 1.5.
我想不出任何技术原因来坚持主流 Java 的 1.4 兼容性,但特定移动或嵌入式设备可能例外(请参阅 Jon 的答案的讨论)。 遗留支持必须有限制,1.5 已经有近 5 年的历史了。 在我看来,让人们继续前进的更有说服力的理由就更好。
更新(我睡不着):一个值得考虑的先例是 Spring 3需要 Java 5 (pdf)。 还要考虑到大公司正在使用的许多服务器已经或即将停产(WAS 5.1 不再支持 自 2008 年 9 月起,JBoss 4.0 支持 于 2009 年 9 月结束)并且 Java 1.4 本身是 自 2008 年 10 月起不再支持。
I can't think of any technical reason to stick with 1.4 compatibility for mainstream Java with the possible exception of particular mobile or embedded devices (see discussion on Jon's answer). Legacy support has to have limits and 1.5 is nearly 5 years old. The more compelling reasons to get people to move on the better in my opinion.
Update (I can't sleep): A good precedent to consider is that Spring 3 will require Java 5 (pdf). Also consider that the lot of the servers that the larger corporations are using are, or will soon be, EOL ( WAS 5.1 is out of support since Sep '08, JBoss 4.0 support ends Sep '09) and that Java 1.4 itself is out of support since Oct '08.