1. 程式人生 > >(二)jdk的安裝和環境變量的配置

(二)jdk的安裝和環境變量的配置

ogr ava 這也 過程 配置 相關 新的 classpath 無法

JAVA基礎(二)

--jdk的安裝和環境變量的配置

一、為什麽要安裝jdk,jdk是什麽?

  JDK是java軟件開發包(Java Development Kit)的簡稱,要想開發java程序就必須安裝JDK。沒有JDK的話,無法編譯運行Java程序。
因為JDK包含的基本組件包括編譯運行java文件的exe文件:

可想而知,沒有jdk就沒有編譯器,java文件無法編譯,沒有java.exe,就無法運行字節碼文件(.class文件)

  其實進行java開發不僅需要jdk,還需要jre(Java Runtime Environment,Java運行環境),jdk包含編譯器運行器和類庫(3500多個類常用150多個)等,而jre包括Java虛擬機(jvm)、Java核心類庫和支持文件。不過現在的jdk都幫我們集成了jre,所以安裝jdk就等於安裝了兩個。

  當然安裝jdk只是為了在cmd控制臺能夠編譯運行我們寫的java文件,當我們擁有eclipse或其他編程軟件的時候,它們是自帶jdk的,我們不另外安裝也是可以的。

二、常用的java命令和常用的cmd路徑跳轉命令

常用Java命令:

java -version 顯示jdk版本
javac – 編譯器,將源程序轉成字節碼
java – 運行編譯後的java程序(.class後綴的)

等...

技術分享

  安裝好jdk後,cmd控制臺中在能使用java命令的情況下:

  輸入javac D:\Hello.java(想編譯的java文件路徑)即可編譯,別忘了中間有個空格,編譯之後會在該java文件的相同目錄下生成一個同名的.class文件(Hello.class),這是一個字節碼文件,一般不可以再反編譯回java文件,所以你的東西想給別人運行但是不想給他源碼的時候就直接給他.class文件即可,值得一提的是,這個class文件只針對它編譯時的java文件,你java文件改變後,如果需要新的class文件,需要重新編譯。

  而運行字節碼文件,在沒有配置相關環境變量的時候,必須先切換到class文件目錄下才可以使用java Hello(需運行的class文件名字,不需要.class後綴)

常用cmd命令:

Cd.. -->返回上級目錄

技術分享

Cd 路徑 -->跳轉到該路徑

技術分享

Dir -->顯示當前目錄下的所有文件

技術分享

在硬盤的最上級目錄下,d: -->跳轉到D盤

技術分享

三、下載和安裝

官網(sun公司):http://www.sun.com

一般我們直接谷歌搜索jdk,就能出來

1.

技術分享

2.

技術分享

3.

技術分享

安裝步驟(傻瓜式安裝)

技術分享

技術分享

技術分享

技術分享

技術分享

安裝過程中還會彈出java的安裝,它的安裝路徑是你jdk的同級安裝路徑下的jre包中,一並下一步下一步安裝,這其實是jre的安裝。

技術分享

安裝完成:

技術分享

 安裝成功的標誌是什麽呢?我們在cmd命令臺中跳轉到jdk安裝的bin目錄下輸入java -version會顯示jdk的版本號即表示安裝成功

技術分享

  當安裝完成後,我們就在安裝路徑下面發現了一大堆東西,其中在bin目錄下我們可以找到我們剛剛提出的javac.exe – 編譯器,將源程序轉成字節碼,java.exe – 運行編譯後的java程序,其實我們此時就可以編譯我們寫的java文件了。

四、編譯

cmd中先跳轉到安裝的jdk的bin目錄下

  在跳轉到jdk的bin目錄下後,我們就能使用java命令了,當我們在控制臺中使用javac命令時,系統會在我們的當前目錄下尋找javac.exe,同理,其實我們輸入的命令能執行出來其實都是運行了相關的exe而已。

使用javac編譯我在D盤寫的Hello.Java

技術分享

技術分享

看,沒有報任何錯誤,說明編譯成功,並且在我的D盤下多了一個Hello.class文件,這就是編譯的結果。

五、字節碼文件的運行

技術分享

為什麽配置環境變量或者切換目錄就可以使用java命令或者找到class文件:

  環境變量告訴系統, 當要求系統運行一個程序或者找尋一個文件而沒有告訴它程序所在的完整路徑時, 系統除了在當前目錄下尋找此程序或文件外, 還應到哪些目錄下去找。 至於名字為什麽叫PATH和CLASSPATH,這是一種原始的dos命令,沿用至今,也就是系統規定的,你取其他名字再放變量值是不行的。

①配置path環境變量+切換到class文件目錄下

如果我們不配置path環境變量,在cmd命令行中不跳轉路徑直接輸入java,javac等命令,控制臺在當前目錄下找不到相應exe文件,就會提示你不是可運行的程序或批處理文件,即無法使用jdk中相關的javac編譯器和java運行器。

技術分享

  在此電腦--屬性--高級系統設置--環境變量中,新建用戶變量或者系統變量(用戶變量只對電腦的當前用戶起作用,系統變量對所有的用戶起作用)PATH(最好大寫),然後將變量值寫為你安裝的jdk目錄下的bin的路徑(我的是C:\Program Files (x86)\Java\jdk1.8.0_91\bin),確定即可。

技術分享

  此時你再去命令臺試試相關命令,就會發現可以使用,也可以編譯java文件,其實此時我們不管在cmd的哪個路徑下,都可以找到java命令了。

技術分享

技術分享

此時我們可以切換到class目錄下,再用java命令運行D盤的class文件,也能出結果。

技術分享

②配置path環境變量+配置classpath環境變量

  配置完path環境變量之後,我們可以在任何地點使用java命令了,能不能有一種方法讓我們也能在任何地點都能找到class文件呢?

這也是配置環境變量就可以,配置系統變量CLASSPATH,值就為你class文件所在的目錄。(由於我的class文件在D盤,就為D:\即可)

技術分享

配置完成後,我們在哪裏都能找到這個class文件了

讓我們運行試試(運行class文件不需要加.class後綴名)!

技術分享

可是這樣也太麻煩了,有一個class文件就得給classpath增加一個值,所以並不建議使用此方法。

③切換到jdk的bin目錄下+切換到class文件目錄下

  有人說,怎麽可能同時切換得到兩個文件的目錄下,其實我們只要把class文件拷貝到jdk的bin目錄下,到時候切換到jdk的bin目錄下,不也就切換到了class文件目錄下嗎。

技術分享

技術分享

看,輸出了一個Hello World!說明運行成功!

可是這樣也太麻煩了,每次都需要拷貝,所以也不建議使用此方法。

④切換到jdk的bin目錄下+配置classpath環境變量

技術分享

同理,我們還是得每次配置classpath,所以也不建議這樣做。

提問:那是不是就配一個path用第一種方法就好了呢?

  我們java常用的核心類庫需要我們隨時能找到,所以我們一般還是會配置一個classpath並在classpath中配置jdk的lib目錄下的dt.jar,和tools.jar。雖然我們知道cmd命令臺默認會先去當前目錄下找類,我們還是一般在classpath裏加一個”.;”,這個也是表示當前目錄下的意思。

配置完成:

Classpath值為:

.;C:\ProgramFiles(x86)\Java\jdk1.8.0_91\lib\dt.jar;C:\ProgramFiles(x86)\Java\jdk1.8.0_91\lib\tools.jar

path的值為:

C:\Program Files (x86)\Java\jdk1.8.0_91\bin

在命令臺中輸入set path和set classpath也可以查看到:

技術分享

  其實到這裏我們的環境配置就已經完成了,但是如果我們換了一個jdk,就要把bin和lib前面的一大串又重新寫一遍。

所以,一般我們還會建一個JAVA_HOME環境變量,存放jdk主目錄(C:\Program Files (x86)\Java\jdk1.8.0_91)

在classpath和path中,我們使用%JAVA_HOME%就可以將jdk主目錄引用過來了。

如圖,這就是最終的配置結果:

技術分享

在系統查看變量的時候,被引用了的環境變量會被換成該環境變量的值,所以查看的時候還是會顯示總路徑

技術分享

  這樣,我們改了jdk的目錄的時候,只需要改一個JAVA_HOME的路徑就可以了,是不是很方便呢?

當然,JAVA_HOME作為一個被引用的值,名字是可以隨便取的,只是為了見名知意和便於其它java配置的尋找,才叫JAVA_HOME。你要是沒有其它java工具,其實叫什麽都可以,但如果有tomcat或者其它java工具需要用到jdk,只有叫JAVA_HOME才可以被找到。

技術分享

(二)jdk的安裝和環境變量的配置