很多时候我们使用多个版本的jdk,比如说,用的是1.7 ,开发环境用1.8
那么经常碰到编译后的包是1.8版本的,虽然设置了1.7的,因为很多时候我们使用打包工具了。
1.7和1.8有个问题就是1.8 有向下的兼容问题。
比如说ConcurrentHashMap();使用1.8编译,1.7上跑,使用了keyset遍历,就报错了。
java.util.concurrent.ConcurrentHashMap$KeySetView
使用gradle编译时,需要固定jdk版本时:
1、首先在C:\Users\用户名\.gradle 的路径下找到文件 gradle.properties (如果没有就穿件一个gradle.properties文件)
2、添加配置 org.gradle.java.home=jdk路径 (例如:D:/Program Files/Java/jdk1.7.0_79)
还有一个办法就是在build.gradle 添加
compileJava.options.fork = true
compileJava.o