3 回答

TA貢獻1784條經驗 獲得超7個贊
是的,當然它仍然是平臺獨立的。
Java 字節碼不會在 Windows、Linux 或 Mac OS 之間更改。
你可以把windows上編譯好的class文件,或者里面有class的jar文件,復制到Linux或者Mac OS機器上,只要平臺的主版本相同或者晚于最初編譯它們的地方。
因此,如果它們是使用面向 Java 9 運行時的 Java 9 編譯器編譯的,那么執行它們的平臺將需要是 Java 9 或更高版本。否則你會得到一個UnsupportedClassVersionError
.

TA貢獻1795條經驗 獲得超7個贊
您似乎誤解了Java 9 的自包含應用程序打包能力,它看起來將取代 Java Web Start 作為桌面應用程序的部署工具。
JWS 使用普通的 Jar 作為交付物,但要求用戶機器上已經安裝了 Java 運行時環境。另一方面,打包工具會將該 Jar 打包成適用于 Windows (a .exe) 或 Unix (a .so) 等的可執行文件。為此,它需要本機可執行文件包含 JRE 編碼的部分對于每個系統(Jars 獨立于平臺,但需要為每個操作系統制作 JRE)。
如果您將可執行 Jar 交付給用戶(并告知他們需要安裝 Java 插件才能運行它),那么該 Jar 仍將與支持 Java 的所有操作系統兼容。

TA貢獻1815條經驗 獲得超10個贊
java 是平臺獨立的,但 java 運行時環境(jre)不是。
所以,如果開發者想要為各種平臺提供產品,而不需要在用戶環境中安裝jre,那么產品應該為每個平臺包含不同的jre。
+) 編譯無關緊要,只需要完成一次。
添加回答
舉報