如何使用Java1.8编译1.6JVM可运行的class文件

想在项目中使用jdk1.8的一些新特性去开发,但是编译出来的class如果在低版本的java环境中运行会出现class版本不匹配的问题。如图
clipboard.png

那么想请教下,Spring中是如何做到通过1.8编译,而只要求jdk版本大于1.6就可以的?

  • 版本要求
    clipboard.png

  • spring build.gradle文件
    clipboard.png

希望大神可以解答下,目前没搞明白比较困惑

阅读 8.8k
3 个回答

可以看一下javac的参数,里面有两个sourcetarget

 -source <版本>               提供与指定版本的源兼容性
 -target <版本>               生成特定 VM 版本的类文件

通过这两个参数的设置就可以改变编译出来的class文件版本。
比如javac -source 1.6 -target 1.6 Hello.java

高版本的jdk是可以编译出低版本的class的

向使用1.8的新特性,可以通过引入第三方的jar包。仍然使用jdk1.6编译。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题