背景說明
其實只是學習Android的話,只要下載好Android Studio開發工具,是自帶JDK環境的,所以不需要再額外去進行配置,我之所以還要進行單獨配置,是因為我其他的工具需要Java的環境,而且我目前用的是JDK 12,因此還是要配置下。
然后就去看了下配置Classpath的路徑,發現一搜基本全是差不多的教程,都是配置這樣的路徑【.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;】
本來配置好了也就可以了,但是我又多了個心眼,我去這個目錄下看了下是不是有這兩個文件,結果發現沒有,然后我就不淡定了。
因為搜到的教程都是這么配置的,但是現在我發現JDK 12下沒有這個文件,是不是我裝錯了?
最后一翻查找后發現,在安裝JDK 12版本后,lib
目錄下缺少dt.jar
和tools.jar
文件,這是JDK 12版之后的正常現象,無需擔憂。
具體原因如下:
原因解析
-
JDK模塊化改革
從JDK 9開始,Oracle對Java進行了模塊化改造,移除了傳統的rt.jar
、tools.jar
和dt.jar
等文件,改為更高效的模塊化存儲方式(位于jmods
目錄)。這也是為什么JDK 12及更高版本中不再包含這些文件的根本原因。 -
JRE生成方式變更
JDK 12默認不包含獨立的JRE文件夾,需通過命令行手動生成,而dt.jar
和tools.jar
的功能已被整合到模塊化系統中,不再需要單獨配置。
解決辦法
1. 環境變量配置調整
-
無需配置CLASSPATH
從JDK 9開始,無需在CLASSPATH
中添加dt.jar
和tools.jar
,直接省略相關配置即可。
推薦的環境變量設置如下:JAVA_HOME = C:\Program Files\Java\jdk-12.0.1 Path = %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
-
生成JRE(可選)
若需JRE,可在JDK安裝目錄下執行命令手動生成:bin\jlink.exe --module-path jmods --add-modules java.desktop --output jre
注意需以管理員權限運行命令行。
2. 驗證安裝
- 打開命令提示符,輸入以下命令驗證:
若返回版本信息(如java -version # 查看Java版本 javac -version # 查看編譯器版本
12.0.1
),則配置成功。
3. 避免安裝路徑覆蓋
若使用舊版本JDK(如JDK 8),需確保安裝時JDK和JRE路徑不同,否則會導致文件覆蓋。但此問題不適用于JDK 12及以上版本。
總結
介于此也發現一個問題,很多以前的教程由于很多原因,在如今搜索引擎下,還是會作為優先推薦展示出來,從而導致我們有時候參照了早已過時的環境配置。
最后,JDK 12的dt.jar
和tools.jar
缺失是版本升級后的正常現象,無需重新安裝或修復。只需按新規范配置環境變量,并利用模塊化特性即可。若需兼容舊項目,可考慮降級至JDK 8并注意安裝路徑分離。