很多時候我們使用多個版本的jdk,比如說,用的是1.7 ,開發環境用1.8
那么經常碰到編譯后的包是1.8版本的,雖然設置了1.7的,因為很多時候我們使用打包工具了。
1.7和1.8有個問題就是1.8 有向下的兼容問題。
比如說ConcurrentHashMap<String, Equip>();使用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.options.forkOptions.executable = "D:/Program Files/Java/jdk1.7.0_79/bin/javac.exe"
辦法3:修改gradle.bat
@rem VyDN-start.
set JAVA_HOME=D:/Program Files/Java/jdk1.7.0_79
@rem VyDN-end.
如何添加jdk版本請在網絡上查找文章。
在Eclipse上的配置不僅需要選擇正確的版本的jdk,還需要再選擇下編譯時版本,比如說
某個工程
全局的
還需要在java home上也進行配置下路徑。
選擇編譯的工程 配置run configurations ,選擇選項卡 java home 配置java home。