jdk12‘javac‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。
前言:
安裝JDK12遇到的問題以及學習過程,
我第一次用網上的安裝辦法,下載EXE后,配置好三個環境變量后運行,不行。
解決過程:
| 問題1:安裝后javac命令運行時報錯 jdk12'javac' 不是內部或外部命令,也不是可運行的程序 或批處理文件。 |
是不是環境變量的問題,一開始我配置了三個環境變量分別是JAVA_HOME,CLASSPATH,PATH,檢查環境變量,發現 CLASSPATH環境變量中,路徑下就沒有這個tool.jar,會不會是因為這個原因所以不對,所以開始查<JDK安裝后 沒有tools.jar 和dt.jar包的解決辦法>
查的過程中,網上的資料解釋,在裝JDK的過程中會兩次選擇路徑,一次是選擇JDK的安裝路徑,一個是選擇Jre的安裝路徑。但我在安裝exe的時候確實只看到了為安裝JDK選擇路徑的過程,沒有給jre選擇路徑的過程,所以,這個命令不能運行是不是因為我的jre沒有裝,而且在很多資料上看到有的JDK和Jre還專門是兩個文件分別存放的。所以開始查
<裝完JDK為什么沒有jre>
后來查的結果:造成原因是JDK11之后沒有直接的jre,要用戶選擇jre模塊
鏈接:java jdk12,安裝路徑沒有jre文件夾
所以手動安裝jre模塊
點擊shift+右鍵,在此處打開命令窗口,然后執行如下命令:
bin\jlink.exe --module-path jmods --add-modules java.desktop --output jre
執行完命令就可以看到
猛然發現第三個path環境變量里的jre居然是這樣配置上去的,而我先寫了路徑,但系統在我沒有裝jre之前,path環境變量根本就找不到值的,所以報了錯,接著,又運行試了試,發現居然javac命令可以執行了,但CLASSPATH命令還是錯的,怎么就給運行成功了,就懵逼了。。。
在查資料的過程中,(網上有人說jdk9以后可以不用配置classpath變量 鏈接:jdk12圖文安裝教程(win10)),
然后我就刪掉,運行,發現沒有報錯。
后來,查到的結果,也解決了我之前的疑惑
安裝之后,找不到tools.tar和dt.jar是因為安裝JDK和JRE時選擇了同一個目錄,JRE中的包覆蓋了JDK包中的內容,所以就找不到JDK包中的tools.jar和dt.jar包。
在dos環境下運行java是來自JRE環境,走的是,一定要把path的環境變量配好。
參考鏈接:
- 安裝java之后,找不到tools.jar 和dt.jar
- dos窗口下運行java可以,運行javac卻報錯
總結
以上是生活随笔為你收集整理的jdk12‘javac‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 解决git本地提交不到远程库
- 下一篇: 如何学习:算法实践