可以编译Java 8代码库并在Java 6 VM上运行吗?

Ren*_*aud 2 java java-8

使用Java 8编译的Java 8代码库是否可以在Java 6 VM上运行?

ale*_*oot 7

是的,但是如果你不使用java 7和java 8的功能......

如果代码库是用新的Java版本的特点编写的,那么就没有办法做到这一点!

但是,如果要在java 6上运行它们,则必须-source 1.6 -target 1.6在编译源代码文件时设置java 6合规性级别(使用javac参数),以使它们与java 6兼容.如果未按上面所示设置合规性,你会得到一个UnsupportedClassVersionError:

java.lang.UnsupportedClassVersionError:Unsupported major.minor version XX.X
Run Code Online (Sandbox Code Playgroud)

  • @MightyPork如果您使用`-source 1.6 -target 1.6`并且不使用自1.6以来添加的任何方法或类 (4认同)