2017-04-18 46 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項目正在運行? –

相關問題