我们可以使用jdk7 javac将java7特性的代码编译成java6字节码

Bai*_*ang 5 java compatibility java-7

我正在考虑一个java项目是否可以生成2个jar:一个用于java7,一个用于java6,是的,源代码可能会使用一些java7新功能.

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

javac -target 1.6 -bootclasspath jdk1.6.0\lib\rt.jar -extdirs "" MyApp.java
Run Code Online (Sandbox Code Playgroud)

不幸的是,它只是发出一个错误:

javac: target release 1.6 conflicts with default source release 1.7
Run Code Online (Sandbox Code Playgroud)

根据这个文件,应该有可能jdk6 vs jdk5,任何人都知道为什么它在jdk7 vs jdk6中不起作用?我做错了什么,还是只是官方不支持?

谢谢.

Pet*_*rey 5

AFAIK,来源和目标必须相同.即使对于Java 6.唯一的例外是源可以是1.1和目标1.0.

鉴于最新的JVM for Java 6和Java 7之间的JVM差别不大,我建议您考虑升级.Java 6将于2012年11月完成(免费)服务,从现在开始三个月......