我正在考慮,如果一個Java項目可能會產生2瓶:一個用於java7,一個用於的Java6,是的,源代碼可能使用一些一些java7新功能。我們可以使用JDK 7的javac編譯與java7功能代碼到的Java6字節碼
這樣生成的Java6瓶子,命令行是這樣的:
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
據this document,它應該是可能的jdk6 vs jdk5,有人知道它爲什麼不能在jdk7和jdk6中工作嗎?我做錯了什麼,還是隻是官方不支持?
謝謝。
[下面是對Java 7.交叉編譯文檔】(http://docs.oracle.com/javase/7/docs/technotes/tools/windows/javac.html#crosscomp-example)'OldCode。預計將被寫入目標源代碼級別。 IIRC,Java 5和Java 6語法都是一樣的。 – McDowell
@McDowell這意味着源代碼不應該包含任何Java7的新功能,對吧? –
正確。如果您希望用Java 7代碼來定位Java 6,那麼您可能需要查看專業的第三方工具。 – McDowell