我意識到這不是100%相關,但我對此很好奇。 在JDK8中,不贊成使用javac參數「source」和「target」,並將在JDK9中將其刪除。 作爲一名JavaME開發人員,我想知道如何才能夠定位到較老的平臺。例如,我在開發藍光時使用的是目標1.3。如果沒有「目標」選項,當JDK9出現時,如何編譯我的Xlet以用於藍光?我想,還必須有其他人(儘管我們可以認同的不是很多),但仍需要針對較老的設備。當JDK9不在時我們做什麼?如何使用JDK9定位較舊的平臺? (目標:1.3)
編輯:它甚至有可能將目標1.3與JDK9?
這很好消息雖然有點令人費解。他們爲了降低javac的維護成本而刪除「源」和「目標」 - 然後引入另一個基本相同的參數? 噢,只要我可以將我的Xlets編譯爲兼容藍光的jar文件,那麼我很高興。我想時間會告訴我這個新方法是否做了不同的事情,這使得我的jar文件與藍光規格不兼容。 –
來自JEP:「默認情況下,javac會針對最新版本的平臺API進行編譯,因此編譯後的程序可能意外地使用了當前版本的平臺提供的API,這些程序無法在舊版本的平臺上運行,不管傳遞給-source和-target選項的值如何。這是一個長期的可用性痛點,因爲用戶期望通過使用這些選項,他們將獲得可以在指定平臺版本上運行的類文件。「 – Jay
只需要清楚新標誌具有非常特定的原因,這是對原始標誌的改進,它們不僅僅是改變東西,因爲他們覺得它是這樣的:) – Jay