我必须编译一个运行Java 1.7的Spark程序.但是,我在计算机上安装了Java 1.8.我的代码同时具有Scala和java类,我使用sbt进行编译.我知道您可以使用javac设置目标,但是由于我使用sbt进行编译,因此不直接调用javac,因此如何使用Java 1.8为Java 1.7编译此类代码.
附注:我不想在计算机上单独安装Java 1.7.
解决方法:
Java向后兼容,这意味着您可以使用Java 8编译器编译为Java 7字节码
在sbt中,您必须手动设置目标Java版本:
javacoptions ++= Seq("-source", "1.7", "-target", "1.7"),
scalacoptions := Seq("-target:jvm-1.7")
它将告诉javac和scalac设置Java 7类标头