【问题标题】:Creating a new project for Maven Central - What JDK version to use?为 Maven Central 创建一个新项目 - 使用什么 JDK 版本?
【发布时间】:2017-04-18 18:26:00
【问题描述】:

由于 JDK 版本 are not backward compatible,即使用 JDK X 创建的字节码 (*.class) 文件可能无法在 JVM X-1 或更早版本下运行(JDK 1.8 字节码可能无法在 JVM 1.5 上运行),我如何确定哪些如果我想将项目提交到 Maven Central,应该使用 Java 版本来构建它吗?

如果我使用最新的 Java 并使用其最新的语言功能,我的项目将无法接触到大多数用户,因为他们无法使用他们的 JVM 运行我的项目。但是,我也不想用 Java 1 编写我的软件。那么,如何确定要使用的 JDK 版本呢?如果有的话,“标准”是什么?

【问题讨论】:

  • 你想使用流和 lambdas 吗?然后选择 Java 8。如果没有,选择 Java 7。
  • 您是作者,您可以选择。你可以想“我想写现代代码吗?”或者“我想支持那些在 90 年代使用过时的 JDK 的人吗?”。如果您担心因为使用 Java 8 而失去用户,那么您可能对您的产品有过高的想法。此外,您可以随时对其进行反向移植,以防它突然变得广泛流行。
  • 为什么投反对票?我相信我的问题是有效的。有人愿意解释吗?
  • 这个问题没有明确/有效的答案。这完全取决于您。

标签: java jvm version maven-central


【解决方案1】:

最好在 java 7 中提供它,以便它可以在 6 到 8 版本中使用,但你会失去一些函数式编程方法

【讨论】:

  • 您的意思是 [oracle.com/technetwork/java/javase/… SE 7 与 Java 平台的早期版本高度兼容),因此是一个很好的折衷方案。通过使用 Java 7,可以轻松满足 Java 6 和 Java 8 的用户。 Java 5,不确定(我没有检查过)。有多少项目仍在使用 Java 5 运行?
【解决方案2】:

从 2017 年初开始,Java 7 就是答案。

没有什么比调查主要使用的 Java 版本更好的了。以下Java Tools and Technologies Landscape Report 2016 文章提供了一些非常有趣的见解。显然,90% 的生产项目使用 Java 的最后两个版本(在撰写本文时,Java 8 占 62%,Java 7 占 28%)。

因此,对于 Maven Central,使用略低于当前版本的版本来访问大多数项目是相当安全的。 Ashok Kumar N 建议使用 Java 7 非常有意义,因为它 is strongly compatible with Java 6。因此,使用 Java 7,可以占领 99% 的市场。

【讨论】:

    猜你喜欢
    • 2011-02-03
    • 2011-11-10
    • 1970-01-01
    • 2012-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-21
    • 1970-01-01
    相关资源
    最近更新 更多