win10 java(jdk安裝)環(huán)境變量配置和相關問題
寫在前面的話
咱也不喜歡廢話,圖片和方法我都會特別標注出來的,方法絕對詳細,并且會把各個細節(jié)標注出來。
剛開始學習java在環(huán)境配置上遇到了很多問題,東看看西看看最終還是解決了。感覺自己碰到的問題蠻全的,這里統(tǒng)一寫一篇文章,不光是做個紀錄也是方便大家互相學習解決。
前置條件(閱讀以下內(nèi)容需要掌握的知識)
有一臺裝配了win10的電腦,可以連接網(wǎng)絡懂得基本的電腦操作即可。
其他的按照本教程來一遍就可以,保證達到最終配置成功的目的。
準備
先了解一下java
JVM :英文名稱(Java Virtual Machine),就是我們耳熟能詳?shù)?Java 虛擬機。它只認識 xxx.class 這種類型的文件,它能夠?qū)?class 文件中的字節(jié)碼指令進行識別并調(diào)用操作系統(tǒng)向上的 API 完成動作。所以說,jvm 是 Java 能夠跨平臺的核心,具體的下文會詳細說明。
JRE :英文名稱(Java Runtime Environment),我們叫它:Java 運行時環(huán)境。它主要包含兩個部分,jvm 的標準實現(xiàn)和 Java 的一些基本類庫。它相對于 jvm 來說,多出來的是一部分的 Java 類庫。
JDK :英文名稱(Java Development Kit),Java 開發(fā)工具包。jdk 是整個 Java 開發(fā)的核心,它集成了 jre 和一些好用的小工具。例如:javac.exe,java.exe,jar.exe 等。
顯然,這三者的關系是:一層層的嵌套關系。JDK>JRE>JVM。
你需要的知道的就是jdk是你這樣的開發(fā)者所需要的,jre是使用者需要的。
很明顯你在安裝了jdk必然會集成一個jre來給你使用,就像是你做飯拿jre這個勺子嘗了嘗你用jdk做出來的東西。
下載jdk
大致明白了之后,然后點擊此處下載jdk
你應該會看到這樣的網(wǎng)頁
點擊圖中箭頭所指示的地方
如果不一樣也沒有關系 應該只是網(wǎng)頁改版了 有一些英語知識找到JAVA se DOWNLOAD即可
緊接著點擊這里的 windows jdk-xx.x.x_windows-x64_bin.exe
然后瀏覽器就會開始下載exe文件了,剩下的按照向?qū)С绦虬惭b你應該沒有問題。
這里我以默認的安裝地址為例進行接下來的部分。
常見問題一覽
安裝后如何配置環(huán)境變量
不管你桌面有沒有“此電腦”這個圖標,這里用微軟自帶的搜索方法來打開環(huán)境變量配置選項卡→
點擊即可打開 “系統(tǒng)屬性”選項卡→
1. 首先配置java_home變量(大小寫不影響)
>變量名:JAVA_HOME >變量值:電腦上JDK安裝的絕對路徑
比如你我這里安裝在C:\Program Files\Java\jdk-13.0.1路徑處,所以我在變量值的框里填這個→
如果你找不好路徑地址,我也有個好辦法(能填好的可以跳過。)
在目錄下創(chuàng)建一個文本文件,隨便寫些文字,然后保存為.html文件。
然后雙擊打開這個文件,你的瀏覽器地址欄會出現(xiàn)路徑,把xx.html刪去后剩下部分全選復制到變量名即可。
2. 添加classpath變量
如果存在 CLASSPATH 變量,選中點擊 (編輯)
如果沒有,點擊(新建)
輸入/在已有的變量值后面添加:
變量名:CLASSPATH變量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
3.修改path變量
由于 win10 的不同,當選中 Path 變量的時候,系統(tǒng)會很方便的把所有不同路徑都分開了,不會像 win7 或者 win8 那樣連在一起。
新建兩條路徑
%JAVA_HOME%\bin%JAVA_HOME%\jre\bin
(當然也會有連在一起的情況,中間添加一個分號 ; 即可)
注意這里可能出現(xiàn)的問題。
首先檢查一下這里有沒有其他路徑標到 jar jre jdk包含這些關鍵字的路徑,如果有請把它們刪除,因為這說明你之前安裝過其他版本或者位置的jdk,會影響到你使用。
(我個人是裝matlab時候帶了一個jar#貌似是#以及去年裝的jdk,后面會出現(xiàn)java和javac地址不統(tǒng)一的問題。這里先排除這個隱患)
為了以防萬一,你也可以把剛才添加的兩條路徑上移至頂端。(我這步偷懶用了runoob的圖所以是英文move up)
%JAVA_HOME%\bin%JAVA_HOME%\jre\bin
然后點擊保存(確定)確定你的修改。
接著讓我們打開cmd進行檢驗
(打開cmd的方法:win+R喚出運行對話框 輸入 cmd 打開cmd)
輸入java或者javac ,然后回車會出現(xiàn)一大堆指令就說明配置成功。
剩余的問題
事情到這里并沒有結(jié)束,只有一個java程序在你的pc上正常運行了,才能說明我們的準備已經(jīng)完成了。
為了測試需要準備的
為了解決剩下的問題,我們首先需要一個沒有問題的簡單程序,譬如 熟知的helloworld。這里我給出代碼,使用notepad++作為編輯器,當然使用notepad(記事本)也可以。
public class hellworld { public static void main(String []args) { System.out.println("Hello World"); } }
首先注意java是嚴格區(qū)別大小寫的,其次我們保存的文件名需要和創(chuàng)建的類的名字一樣,所以我保存的這個文件名叫helloworld.java。
為了方便調(diào)試,我建議將該文件暫時就保存在你cmd默認的目錄下。
之后調(diào)用這個程序時,還是打開cmd。
在對應目錄下輸入"javac xxx.java" xxx是你的文件名。
這里我輸入"javac xxx.java"
如果一切正常javac會在目標文件夾下創(chuàng)建"xxx.class"文件且不返回任何內(nèi)容,如果出錯則上述步驟存在錯誤,請回頭再看看。
然后輸入"java xxx"
這里我輸入"java helloworld"
輸出"hello world"
如圖:
1、版本不統(tǒng)一(出現(xiàn)錯誤 A JNI error has occurred, please check your installation and try again)
就像我們在上面說的java 和javac版本不統(tǒng)一的情況。
首先學習下我們?nèi)绾螜z查版本是否統(tǒng)一:
在cmd輸入
"java -version"和"javac -version"注意不要把這里的 空格 給漏了。
版本統(tǒng)一的話會出現(xiàn)以下的樣子,注意看版本號是否一致。
如果不一致則刪除掉老版本的文件,再重新安裝jdk覆蓋一下。(這里說說怎么刪除老版本,建議下載everything 一個輕量級的應用 可以快速檢索本地的文件)
在本地搜索老版本號,然后將查看日期,將不是這個時間安裝的相關文件全部刪除,)
2、jar包位置出錯(報錯java.lang.ClassNotFoundException)
在helloworld階段遇到這個問題應該還是變量環(huán)境的問題。
在經(jīng)過以上步驟之后依舊出現(xiàn),再次打開環(huán)境變量設置,看看有沒有多設置classpath變量的內(nèi)容,并且把path里面非你所安裝版本的路徑都刪除。(參考上面第一部分的內(nèi)容。)
總結(jié)
以上所述是小編給大家介紹的win10 java(jdk安裝)環(huán)境變量配置和相關問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關文章
Java動態(tài)線程池插件dynamic-tp集成zookeeper
ZooKeeper是一個分布式的,開放源碼的分布式應用程序協(xié)調(diào)服務,是Google的Chubby一個開源的實現(xiàn),是Hadoop和Hbase的重要組件。它是一個為分布式應用提供一致性的軟件,提供的功能包括:配置維護、域名服務、分布式同步、組服務等2023-03-03springMVC如何對輸入數(shù)據(jù)校驗實現(xiàn)代碼
數(shù)據(jù)的校驗是交互式網(wǎng)站一個不可或缺的功能,數(shù)據(jù)驗證分為客戶端驗證和服務器端驗證,這篇文章主要介紹了springMVC如何對輸入數(shù)據(jù)校驗,需要的朋友可以參考下2020-10-10Java中的notyfy()和notifyAll()的本質(zhì)區(qū)別
很多朋友對java中的notyfy()和notifyAll()的本質(zhì)區(qū)別不了解,今天小編抽空給大家整理一篇教程關于Java中的notyfy()和notifyAll()的本質(zhì)區(qū)別,需要的朋友參考下吧2017-02-02Java中HashMap和TreeMap的區(qū)別深入理解
首先介紹一下什么是Map。在數(shù)組中我們是通過數(shù)組下標來對其內(nèi)容索引的,而在Map中我們通過對象來對對象進行索引,用來索引的對象叫做key,其對應的對象叫做value2012-12-12Java利用 Exchanger 實現(xiàn)游戲中交換裝備
JDK 1.5 開始 JUC 包下提供的 Exchanger 類可用于兩個線程之間交換信息。下面我們就來看看Java是如何利用Exchanger一行代碼實現(xiàn)游戲中交換裝備的2021-09-09Java的ThreadContext類加載器的實現(xiàn)
這篇文章主要介紹了Java的ThreadContext類加載器的實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-06-06