簡體   English   中英

我們可以使用jdk7 javac將java7特性的代碼編譯成java6字節碼

[英]Can we use jdk7 javac to compile code with java7 features into java6 bytecode

我正在考慮一個java項目是否可以生成2個jar:一個用於java7,一個用於java6,是的,源代碼可能會使用一些java7新功能。

所以要生成java6 jar,命令行就像:

javac -target 1.6 -bootclasspath jdk1.6.0\lib\rt.jar -extdirs "" MyApp.java

不幸的是,它只是發出一個錯誤:

javac: target release 1.6 conflicts with default source release 1.7

根據這個文件 ,應該有可能jdk6 vs jdk5,任何人都知道為什么它在jdk7 vs jdk6中不起作用? 我做錯了什么,還是只是官方不支持?

謝謝。

AFAIK,來源和目標必須相同。 即使對於Java 6.唯一的例外是源可以是1.1和目標1.0。

鑒於最新的JVM for Java 6和Java 7之間的JVM差別不大,我建議您考慮升級。 Java 6將於2012年11月完成(免費)服務,從現在開始三個月......

即使它是可能的,這通常是一個壞主意 - 如果你想確保你的代碼可以在java 6上運行,那么你必須在java 6上構建它。每個新版本的java在類庫中引入新類,並添加新的現有類的方法,即使你設置你的java 7編譯器生成6兼容的字節碼,它也不會捕獲你調用7-only方法的情況。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM