2017-04-18 78 views
-1

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

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

+0

你想使用流和lambdas?然后去Java 8.如果没有,去Java 7. –

+0

你可以选择,因为你是作者。你可以想“我想写现代代码吗?”或者“我想支持那些已经过时的JDK陷入90年代的人吗?”。如果您担心因使用Java 8而失去用户,那么您可能对您的产品有太高的想法。另外,如果它突然变得广泛流行,你可以随时将其恢复。 – Kayaman

+0

为什么downvote?我相信我的问题是有效的。任何人都在意解释? –

回答

1

Java 7的是答案,因为2017年

开始

没有什么比调查更好地了解哪些版本的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%的市场。

1

其更好地给它在Java 7中,以便它可以在6用于8版本,但你会失去一些函数式编程apporach

+0

您所说的是[http://www.oracle.com/technetwork/java/javase/compatibility-417013.html#incompatibilities](Java SE 7与以前版本的Java平台强烈兼容),因此妥协妥协。通过使用Java 7,可以轻松满足Java 6和Java 8用户的需求。 Java 5,不知道(我没有选中)。那里有多少个Java 5项目正在运行? –

相关问题