『壹』 java的環境變數classpath該怎麼設置呢
java的環境變數classpath的設置方法:
1、在我的電腦界面,滑鼠右鍵點擊「此電腦」。
『貳』 為什麼java調用外部類時編譯和運行都需要使用-classpath添加路徑
javac -classpath的使用:
javac:如果當前你要編譯的Java文件中引用了其它的類(比如說:繼承),但該引用類的.class文件不在當前目錄下,這種情況下就需要在javac命令後面加上-classpath參數,通過使用以下三種類型的方法 來指導編譯器在編譯的時候去指定的路徑下查找引用類。
(1).絕對路徑:javac -classpath c:/junit3.8.1/junit.jar Xxx.java
(2).相對路徑:javac -classpath ../junit3.8.1/Junit.javr Xxx.java
(3).系統變數:javac -classpath %CLASSPATH% Xxx.java (注意:%CLASSPATH%表示使用系統變數CLASSPATH的值進行查找,這里假設Junit.jar的路徑就包含在CLASSPATH系統變數中)
『叄』 請問為什麼java已經設置好PATH和CLASSPATH了,為什麼在cmd中運行時還是要先進入當前目錄呢
classpath只能指定class文件,不能指定java文件,所以編譯的時候是要切換到java文件所在的目錄的
『肆』 環境變數classpath不設置java可以運行嗎
可以啊,不過麻煩的就是如果你用java 命令運行的話,你得在cmd窗口中把路徑切換到jdk解壓後的文件路徑,然後用 java 全路徑的java文件名稱 這樣去運行,如果是用Eclipse的話,可以在首選項中配置,打開首選項頁面,在搜索框輸入jre,就可以找到配置的地方了
『伍』 JAVA 的classpath
classpath指的是Java進行編譯,運行時需要用到的jar包位置.
一般設置為classpath= ".;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar"就可以了
注意是 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
最前面有個點,不要把點漏了。
下面是網上摘的一些比較好的講解,希望對你有所幫助:
CLASSPATH環境變數。作用是指定命令搜索路徑,在命令行下面執行命令如javac編譯java程序時,它會到PATH變數所指定的路徑中查找看是否能找到相應的命令程序。我們需要把jdk安裝目錄下的bin目錄增加到現有的PATH變數中,bin目錄中包含經常要用到的可執行文件如javac/java/javadoc等待,設置好PATH變數後,就可以在任何目錄下執行javac/java等工具了。
CLASSPATH是什麼?它的作用是什麼?
它是javac編譯器的一個環境變數。
它的作用與import、package關鍵字有關。
當你寫下improt java.util.*時,編譯器面對import關鍵字時,就知道你要引入java.util這個package中的類;但是編譯器如何知道你把這個package放在哪裡了呢?所以你首先得告訴編譯器這個package的所在位置;如何告訴它呢?就是設置CLASSPATH啦 :) 如果java.util這個package在c:\jdk\ 目錄下,你得把c:\jdk\這個路徑設置到CLASSPATH中去!當編譯器面對import java.util.*這個語句時,它先會查找CLASSPATH所指定的目錄,並檢視子目錄java\util是否存在,然後找出名稱吻合的已編譯文件(.class文件)。如果沒有找到就會報錯!
CLASSPATH有點像c\c++編譯器中的INCLUDE路徑的設置哦,是不是?當c\c++編譯器遇到include <iostream>這樣的語句,它是如何運作的?哦,其實道理都差不多!搜索INCLUDE路徑,檢視文件!
當你自己開發一個package時,然後想要用這個package中的類;自然,你也得把這個package所在的目錄設置到CLASSPATH中去!
CLASSPATH的設定,對JAVA的初學者而言是一件棘手的事。所以Sun讓JAVA2的JDK更聰明一些。你會發現,在你安裝之後,即使完全沒有設定CLASSPATH,你仍然能夠編譯基本的JAVA程序,並且加以執行。
『陸』 java中如何設置classpath.
工具:電腦
步驟:
1、點擊 此電腦,然後選擇屬性
『柒』 ClassPath詳解
使用JAVA開發或運行基於JAVA編寫的程序,在安裝JDK之後,一般需要配置如下幾條環境變數(以Windows為例):
那麼,它們的作用是什麼呢?
JAVA_HOME 該變數指明了JAVA運行環境的安裝路徑。它和JAVA之間,除了字面相似度高外,沒有什麼聯系。之所以配置該變數大約有三點原因:
如果確定沒有應用依賴該變數,甚至可以不配置。但基於前兩個優點,一般不建議這么做。
CLASSPATH 該變數指明JAVA運行環境JRE搜索 .class 文件的路徑。
PATH 該變數指明操作系統查找可執行程序的路徑。該變數由操作系統使用,配置 %JAVA_HOME%in 以便快捷訪問該目錄下如 java 、 javac 等命令行和其他JDK工具。
明白了這三個變數的用途,可知對於JAVA程序最重要的是 ClassPath 環境變數,因為它指明JAVA程序搜索第三方和用戶自定義類的路徑,如果不正確配置,JAVA程序將不能正常運行。
那麼如何正確配置 ClassPath 呢?有如下四種方式:
其中第三種方式和第四種方式可獨自配置單個JAVA應用而不影響其他JAVA應用,官方推薦使用第三種方式配置 ClassPath 。具體的配置方法如開篇所述,形式類似如下:
每個路徑之間使用英文分號『;』進行分隔(linux環境下則使用英文冒號『:』分隔)。這個例子中的單個路徑都是文件夾,除此之外,單個路徑還可以是特定的jar包和zip包路徑。假如一個類文件的路徑如下
如果該類位於 com.zdb 包下,那麼正確設置的 ClassPath 為:
如果該類引用了如下的第三方jar包:
此時 ClassPath 為:
如果該類引用了多個第三方jar包:a.jar b.jar c.jar,此時 ClassPath 為:
也可以使用通配符『*』表示為:
需要注意的是:
針對第二點,上一個例子在程序運行時,使用系統屬性 java.class.path 獲得的類路徑可能為(注意abc的順序已改變):
這個順序對於JVM載入類頗為重要。假設特殊情況下,b.jar和c.jar中都含有同包名且同類名的一個類,那麼JVM當查找到c.jar時發現該類後,將不會繼續查找b.jar。如果JAVA應用依賴於jar包的載入順序,那麼需要明確指定jar包順序,而不能使用通配符。
針對第三點, manifest 文件配置類路徑和前三種方式稍有不同,形式為:
注意到,使用空格分隔各個路徑而不是分號『;』或冒號『:』。另外,當類路徑過多而需要換行時,從第二行開始,必須以兩個空格開頭。
附:
JAVA類路徑官網介紹
Manifest文件類路徑說明
一個jar包載入順序引發的BUG
『捌』 java中的 classpath有什麼用,我配完環境,沒設置這個變數,程序也能運行啊! 求大神詳細解釋一下!
classpath是java環境變數的路徑,它的作用其實就是設定java開始import包時所需要的路徑
當你在進行java工程是會導入許多包,如:import java.util.*。舉例說明,如果import java.util這個包在C盤的JDK目錄下,那麼就要把"C:\JDK"設到classpath裡面去。當你在import java.util.*時,這句語句就會去找尋classpath下是否有java.util存在,如果沒有就會報錯。
與C語言進行比較的話,它的作用可類似於include。
沒設置classpath就能跑程序的原因是安裝jdk時會把java,javaw等放到system32目錄去,jre也會有一些在注冊表裡,所以可以運行java,但不能用javac(因為它是java編譯器,在jdk里),eclipse會自動找到jdk的home,所以才可以用編譯和運行,IDE基本都不用配環境變數,不過離開了IDE就無法在cmd里javac
『玖』 java -classpath xxx 運行問題
估計是你的Ccc.jar沒找到,用絕對路徑試一下。。