JAVA中“path”是什么意思?
當你在編譯 Java 代碼時需要通過 javac.exe(編譯程序)和 Java.exe(運行程序)。
javac.exe 使用的路徑就是 path,設置正確才能夠直接使用 javac abc.java 命令。
java.exe 使用的就是 classpath,設置正確才能夠直接使用 java abc 命令。
我就是由于這一步出問題了,輸入命令的時候一直都是通過 java -cp classpath; abc 來運行程序的。
在一臺電腦上配置java環境,path起什么作用
a) path的作用是在DOS環境下,能在任意位置使用JDK目錄中bin文件夾中的可執行程序,來編譯執行java程序。
b) 在環境變量中找到path變量,把bin文件夾的絕對路徑加上即可。
在配置Java環境變量時,原來系統有Path,應該怎么設置?
JAVA程序能夠順利編譯需要兩個環境變量,一個是PATH(path),一個是CLASSPATH(classpath)。那么這兩個環境變量代表什么呢?或者說究竟在JAVA程序編譯中有什么作用呢?這就要涉及到WINDOWS的基本知識了。
在WINDOWS環境中,每一條能用的指令都保存在硬盤的“某個角落”,比如說指令NOTEPAD(WINDOWS的記事本指令,在C: WINNT目錄下),那么在DOS命令提示符下直接輸入NOTEPAD就可以打開記事本了。但是一旦我們把C:WINNT目錄下的
NOTEPAD.EXE 這個可執行文件移開(比如說我們現在把它“剪切”到D盤根目錄下)我們再在DOS提示符下直接輸入NOTEPAD時就無法再打開記事本了,但是我們在DOS下改變路徑輸入 D:NOTEPAD(或者先輸入cd D: 在輸入NOTEPAD也行)就可以打開記事本了。
這就是說在我們直接輸入NOTEPAD的時候,其實其默認路徑就是C:WINN。假設我們要運行一個JAVA程序(hello.java)就要先把它的class文件移動到JAVA里的bin目錄下然后打開DOS,把路徑改到JAVA的BIN目錄下執行java hello.class,一次無所謂但是每次都要這樣去做未免太麻煩。
還好WINDOWS提供了一個PATH環境變量,他的作用就是現在這個變量的值路徑中去找,如果找到了要運行的EXE就運行,否則失敗。如果我們把JAVA里的bin目錄這個路徑賦給path那么下次我在運行java這個命令的時候,即便是直接輸入DOS也能夠在path變量中找到JAVA的bin目錄下的java指令了。
怎樣在java中定義path變量
1. PATH環境變量。作用是指定命令搜索路徑,在i命令行下面執行命令如javac編譯java程序時,它會到PATH變量所指定的路徑中查找看是否能找到相應的命令程序。我們需要把jdk安裝目錄下的bin目錄增加到現有的PATH變量中,bin目錄中包含經常要用到的可執行文件如javac/java/javadoc等待,設置好PATH變量后,就可以在任何目錄下執行javac/java等工具了。
2. CLASSPATH環境變量。作用是指定類搜索路徑,要使用已經編寫好的類,前提當然是能夠找到它們了,JVM就是通過CLASSPTH來尋找類的。我們需要把jdk安裝目錄下的lib子目錄中的dt.jar和tools.jar設置到CLASSPATH中,當然,當前目錄“.”也必須加入到該變量中。
新版的軟件,classpath好像都沒有什么用了,因為在安裝的時候已經選了JDK而且可以添加
3. JAVA_HOME環境變量。它指向jdk的安裝目錄,Eclip/NetBeans/Tomcat等軟件就是通過搜索JAVA_HOME變量來找到并使用安裝好的jdk。
配置方式:
JAVA_HOME 指向的是JDK的安裝路徑,如C:\jdk1.5.0_06,在這路徑下你應該能夠找到bin、lib等目錄。值得一提的是,JDK的安裝路徑可以選擇任意磁盤目錄,不過建議你放的目錄層次淺一點
JAVA_HOME=C:\jdk1.5.0_06
PATH=%JAVA_HOME%\bin;%PATH%;
CLASSPATH=.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
java環境變量中%%和path的作用是什么?
作用如下:%%可以調用windows系統的其它環境變量,使你定義的一旦變量更直觀,使用 %變量名%來調用。
比如你定義了一個環境變量JAVA_HOME=C:\java\bin作為java的執行目錄。
那么你在其它環境變量里面要用到%JAVA_HOME%來代替C:\java\bin。
path的作用就是你在path里面定義了一個目錄,,你在命令行里面不用輸出完整的目錄名,直接輸入可執行程序和文件名就可以執行了,你輸入命令的時候,系統會在path定義的目錄下面去尋找你輸入的命令。
JAVA中path和classpath具體是什么意思?
首先得了解操作系統中的環境變量
環境變量
環境變量相對于給系統或用戶應用程序設置的一些變量, 具體起什么作用這當然和具體的環境變量相關. 象path, 是告訴系統, 當要求系統運行一個程序而沒有告訴它程序所在的完整路徑時, 系統除了在當前目錄下面尋找此程序外, 還應到那些目錄下去找; 再象tc或bc++中, t include=path1;path2; 是告訴編譯程序到哪里去找.h類型的文件; 當然不僅僅是指定什么路徑, 還有其它的作用的, 象 t dircmd=/4 設置一個環境變量的作用是在使用dir命令是會把/4最為缺省的參數添加到你的dir命令之后, 就象你的每個命令都加了/4參數, 它實際上是給命令解釋程序command設置的一個環境變量還是給dir這個內部命令設置的。
DWORD GetEnvironmentVariable(LPCSTR lpName, LPSTR lpBuffer, DWORD dSize), 參數lpName是你要求查詢的環境變量的名, lpBuffer是返回你所指定的環境變量的值的, dSize是告訴這個函數lpBuffer可以存放多少個字節.
其次就是你的問題
Windows下JAVA用到的環境變量主要有3個,JAVA_HOME、CLASSPATH、PATH。下面逐個分析。
JAVA_HOME指向的是JDK的安裝路徑,如x:\JDK_1.4.2,在這路徑下你應該能夠找到bin、lib等目錄。值得一提的是,JDK的安裝路徑可以選擇任意磁盤目錄,不過建議你放的目錄層次淺一點,如果你放的目錄很深,比如x:\XXXXXX\xxxxx\XXXX\xxxx\XXXX\xxxx\XXXX\xxx……
那么,下面的步驟和以后的應用你都要受累了,呵呵。設置方法:
JAVA_HOME=x:\JDK_1.4.2
PATH環境變量原來Windows里面就有,你只需修改一下,使他指向JDK的bin目錄,這樣你在控制臺下面編譯、執行程序時就不需要再鍵入一大串路徑了。設置方法是保留原來的PATH的內容,并在其中加上%JAVA_HOME%\bin
(注,如果你對DOS批處理不了解,你可能不明白%%引起來的內容是什么意思;其實這里是引用上一步設定好的環境變量JAVA_HOME,你寫成x:\JDK_1.4.2也是可以的;你可以打開一個控制臺窗口,輸入echo
%JAVA_HOME%來看一下你的設置結果) :
PATH=%JAVA_HOME%\bin;%PATH%
同樣,%PATH%是引用以前你設置的PATH環境變量,你照抄以前的值就行了。
CLASSPATH環境變量我放在最后面,是因為以后你出現的莫名其妙的怪問題80%以上都可能是由于CLASSPATH設置不對引起的,所以要加倍小心才行。
CLASSPATH=.\;%JAVA_HOME%\lib\tools.jar
首先要注意的是最前面的".\;",如果你看不清,我給你念念——句點反斜杠分號。這個是告訴JDK,搜索CLASS時先查找當前目錄的CLASS文件——為什么這樣搞,這是由于LINUX的安全機制引起的,LINUX用戶很明白,WINDOWS用戶就很難理解(因為WINDOWS默認的搜索順序是先搜索當前目錄的,再搜索系統目錄的,再搜索PATH環境變量設定的)
,所以如果喜歡盤根究底的朋友不妨研究一下LINUX。
為什么CLASSPATH后面指定了tools.jar這個具體文件?不指定行不行?顯然不行,行的話我還能這么羅索嘛!:)
這個是由java語言的import機制和jar機制決定的,你可以查資料解決。
呵呵,具體的設定方法: win2k\xp用戶右鍵點擊我的電腦->屬性->高級->環境變量,修改下面系統變量那個框里的值就行了。
win9x用戶修改autoexec.bat文件,在其末尾加入:
t JAVA_HOME=x:\JDK_1.4.2
t PATH=%JAVA_HOME%\bin;%PATH%
t CLASSPATH=.\;%JAVA_HOME%\lib\tools.jar