Java6的生命何时结束?(在编写开发人员工具时) 背景

Java6的生命何时结束?(在编写开发人员工具时) 背景,java,java-6,Java,Java 6,这并不像你想象的那么明显 首先,由于卓越支持将持续到2013年12月,而扩展支持将持续到2016年12月,因此存在一点长尾。除此之外,还有可能永远持续的支持 下一个主要的Java供应商IBM(直到2013年9月,它仍然支持Java 5!) 第三,我们有苹果:目前最新的补丁是在2013年6月发布的,这似乎是所有人的猜测。。。但如果他们能以Java 5的处理为基础,我们可能会再看到18个月左右。。。2014年底 最后我们有了OpenJDK。。。哪个 我甚至还没有开始考虑只有在野外看到的更常见的动物

这并不像你想象的那么明显

首先,由于卓越支持将持续到2013年12月,而扩展支持将持续到2016年12月,因此存在一点长尾。除此之外,还有可能永远持续的支持

下一个主要的Java供应商IBM(直到2013年9月,它仍然支持Java 5!)

第三,我们有苹果:目前最新的补丁是在2013年6月发布的,这似乎是所有人的猜测。。。但如果他们能以Java 5的处理为基础,我们可能会再看到18个月左右。。。2014年底

最后我们有了OpenJDK。。。哪个

我甚至还没有开始考虑只有在野外看到的更常见的动物

因此,从我所看到的,到目前为止,只要你有钱支付Oracle/IBM/Red Hat,你就可以继续得到无限期支持的Java 6版本

也许我们可以开始更好地阐述这个问题,并有机会得到一个不确定的答案:

  • 如果您再也买不到特定JVM运行的硬件/操作系统,那么继续支持特定JVM就没有意义了。扩展的支持合同是针对现有客户的,这些客户的现有系统很可能满足了他们现有的需求。。。如果他们不能换新的

    这实际上给了我们一些关于苹果的背景。。。由于苹果硬件的支持期为5年(如果在加利福尼亚州为7年),那么唯一受支持的苹果硬件应该是基于x86的硬件,因为切换是由完成的,所以实际上我们不必担心在PPC上运行的苹果Java版本,因为

    类似地,我们可能会排除在旧版本Windows上运行的任何Java版本。这意味着,如果Java安装程序不能在Windows7+上运行,那么我们能有效地忽略WindowsXP上支持的Java版本吗

  • 我真正感兴趣的是开发人员工具何时可以提高其最低Java版本

    一段时间以来一直在维护对Java5的支持,但更新的更改意味着在主服务器和从服务器上都需要Java6或更新的版本。如果某些构建从机(例如遗留硬件)无法运行较新的JVM,这可能会导致问题

    长期以来,我们一直允许您将JVM转移到J2SE1.3来运行单元测试,但到目前为止,它只支持在Java5上运行单元测试

    关于
    -源
    -目标
    的政策。。。所以我们需要等到JDK10之后,才能从javac中删除Java6源文件支持。。。cadence和Java8计划在2014年初发布,这意味着JDK9将在2016年初发布,JDK10将在2018年初发布。。。但JDK9将在公开维护的基础上再提供3年,这意味着2019年的某个时候JDK6源代码兼容性可能会被取消

问题: 是否有一个明确的日期可以用来确定OSS开发者工具链何时可以放弃对Java 7之前的JVM的支持,那个日期是什么

OSS的区别很重要,因为OSS开发人员通常没有资金购买扩展型/高级型/持续型支持合同,而且很可能无法访问模糊型/大型机硬件

更新:我所说的“放弃对Java 7之前JVM的支持”是指使用
-target 7
编译整个工具链是安全的,即字节码需要Java 7才能运行

更新2:这应该是一个基于事实的可回答问题。正确答案应为以下任一形式

没有明确的答案,这里有一个链接“一些人正在为Java6上的OSS用户提供免费更新”,他们还没有说什么时候会停止

是的,有一个确定的日期YYYY-MM-DD,这是证据

是否有一个明确的日期可以用来确定OSS开发者工具链何时可以放弃对Java 7之前的JVM的支持,那个日期是什么

没有。没有这样的日期

开发工具链的人可以在他们喜欢的时候自由地放弃对Java的EOL版本的支持。。。或者根本没有。假设,如果个人(或公司)与其他公司(如客户)签订了合同安排,在给定的期限内提供支持,那么这些协议显然会约束他们。然而,这不太可能限制整个项目

(然而,实际情况是,维护对旧版本Java的支持变得越来越难维持。开发人员希望/需要能够在工具链代码库中使用新的Java功能。因此,您可能会看到这样的情况:您可以使用工具链为旧版Java开发代码,但必须在现代Java上运行工具链爪哇。)

对于Java代码库的OSS版本,您(Java用户)处于更好的位置:

  • 很可能会有一定程度的社区支持/发展,远远超过这样做的商业可行性

  • 如果没有,你可以访问源代码,这样你就可以(理论上)支持自己,或者付钱给别人帮你做


史蒂夫·科诺利评论道:


OSS社区无法签订支持合同

这是完全错误的

OSS社区中的任何人都可以与您签订合同,为OSS产品提供支持。实际上,这就是一些开发人员挣钱的方式,使他们能够继续开发自己的产品

此外,所有主流OSS许可证都允许这样做……包括GPL及其所有变体

但是,如果OSS社区不可能增加开发人员,因为您根本无法在不产生成本的情况下访问该技术,那么这就迫使