2 回答

TA貢獻(xiàn)1875條經(jīng)驗 獲得超5個贊
在 Java 8 中,最低目標(biāo)是 JDK 1.1。在 Java 9 中,最低目標(biāo)是增加 JDK 1.6 (Java 6)。
您正在嘗試使您的代碼與盡可能多的 Java 版本兼容,這是一件好事,但由于 Java 6 自 2015 年以來已經(jīng)停止服務(wù),因此實(shí)際上沒有人應(yīng)該嘗試編寫與 Java 5 或更早版本一起運(yùn)行的新代碼。
編輯:此外,在 Java 9 中,他們在 Javac 中引入了該標(biāo)志,這是替代and now--release
的首選選項?;旧鲜且粯拥臇|西,但它還有一個額外的好處,就是將你的引導(dǎo)類路徑與目標(biāo)版本一起設(shè)置,這是一個巨大的便利。實(shí)際上,這可以防止您在編譯器中進(jìn)行設(shè)置,但會意外使用 Java 7 或更高版本的一些新類或語言特性。-source
-target
--release 6
-source 1.6 -target 1.6
--release 6

TA貢獻(xiàn)1827條經(jīng)驗 獲得超8個贊
javac -target 1.1
(并且不使用后來添加的任何類或方法)將使其在 JDK >=1.0.2(1995-09-16 發(fā)布)上工作?;厮莞嗍遣豢尚械模驗樵缙诘?JDK 不公開可供嘗試。
標(biāo)志值影響 .class 文件中存儲的javac -target ...
次要(字節(jié)偏移 4 和 5)和主要(字節(jié)偏移 6 和 7)版本號:
javac -target 1.1
在 JDK 1.8 中生成版本 45.3,受 JDK 1.0.2(1995-09-16 發(fā)布)、JDK 1.1.*(1997-02 發(fā)布)、JDK >=1.2(1998-12 發(fā)布)支持。[來源]javac
在 JDK 1.0.2(從jdk-1_0_2-win32-x86.exe
,wine
在 Linux 上運(yùn)行)生成版本 45.3。對于 k ≥ 2,JDK 版本 1.k 支持 45.0 到 (44+k).0 范圍內(nèi)的類文件格式版本(含)。[來源]
javac -target 1.2
生成版本 46.0,受 JDK >=1.2 支持。javac -target 1.3
生成版本 47.0,受 JDK >=1.3 支持。javac -target 1.4
生成版本 48.0,受 JDK >=1.4 支持。
添加回答
舉報