为 Maven Central 创建一个新项目 - 要使用哪个 JDK 版本?
Creating a new project for Maven Central - What JDK version to use?
由于 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 版本呢? "standard"如果有的话是什么?
最好在java 7 中提供它,这样它可以在 6 到 8 版本中使用,但你会失去一些函数式编程的机会
Java 7 是答案,截至 2017 年初。
没有什么比通过调查了解主要使用 Java 哪个版本更好的了。以下 Java Tools and Technologies Landscape Report 2016 文章提供了一些非常有趣的见解。显然,90% 的生产项目使用 Java 的最后两个版本(在撰写本文时,Java 8 占 62%,Java 7 占 28%)。
因此,对于 Maven Central,使用略低于当前版本的版本来访问大多数项目是非常安全的。 Ashok Kumar N suggestion to use Java 7 makes perfect sense since it is strongly compatible with Java 6。这样 Java 7 就可以抓住 99% 的市场。
由于 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 版本呢? "standard"如果有的话是什么?
最好在java 7 中提供它,这样它可以在 6 到 8 版本中使用,但你会失去一些函数式编程的机会
Java 7 是答案,截至 2017 年初。
没有什么比通过调查了解主要使用 Java 哪个版本更好的了。以下 Java Tools and Technologies Landscape Report 2016 文章提供了一些非常有趣的见解。显然,90% 的生产项目使用 Java 的最后两个版本(在撰写本文时,Java 8 占 62%,Java 7 占 28%)。
因此,对于 Maven Central,使用略低于当前版本的版本来访问大多数项目是非常安全的。 Ashok Kumar N suggestion to use Java 7 makes perfect sense since it is strongly compatible with Java 6。这样 Java 7 就可以抓住 99% 的市场。