|
|
茫茫網海中的冷日
發生過的事,不可能遺忘,只是想不起來而已! |
|
恭喜您是本站第 1730064
位訪客!
登入 | 註冊
|
|
|
|
發表者 |
討論內容 |
冷日 (冷日) |
發表時間:2008/3/18 6:38 |
- Webmaster

- 註冊日: 2008/2/19
- 來自:
- 發表數: 15773
|
- [轉貼]PATH的補充說明
- 轉錄自java連線版
作者: TAHO (癡人) 看板: java 標題: PATH & CLASSPATH 時間: Mon Jan 28 23:18:06 2002
看來這個問題又開始出現了
如果有用過 DOS 系統的人 應該可以瞭解 PATH 是在幹嘛的 這個 PATH 並不是給 Java 用的 早在沒有 Windows 的 DOS 時代 就有這個東西了..... 因為 DOS 沒有所謂的 "捷徑" 所以如果你要執行程式 那你必須給他 "完整路徑" 除非那個程式是在使用者的正處於的目錄
比如說 c:\windows\commands\edit.exe 如果你在
C:\windows\commands> edit
這樣當然可以 如果你是在 他就會跟你說 找不到這個 edit.exe 因為這檔案不在 C:\ 底下 你也不能期望電腦會把你所有硬碟目錄全部都搜尋一遍 找出可能的檔案 如果這樣 那過不了多久你的硬碟可以就開始壞軌了 所以你必須打完整路徑
C:> c:\windows\commands\edit
但是每次都這樣打實在太麻煩?? 所以就發明了一個 "系統變數",也就是 OS 會去使用的設定 只要這樣設定 PATH=C:\windows\commands\ 那不論你在哪裡打 edit,他會先去找目前目錄底下有沒有這個程式 如果沒有 就去 PATH 的路徑找.... 當然 不只有 edit,只要是打任何指令 在目前目錄底下找不到的 他就會去 PATH 設定的地方找 所以你瞭解為什麼要設定到 JDK 的 bin 目錄底下嗎? 因為 java.exe 跟 javac.exe 等等指令都在這目錄底下 所以你安裝完 JDK 之後有三種選擇可以執行命令 1. 直接到 javac.exe java.exe 所在的目錄底下去打指令 (麻煩...) 2. 每次打命令都打完整路徑 (通常很長....) 3. 設定系統變數 PATH 到 JDK 的 bin 目錄
同樣的所謂的 JVM 就好像是 OS 上面再啟動一個 OS 對 JVM 來說 CLASSPATH 就好像是對 OS 來說的 PATH JVM 是由 java.exe 這個程式啟動的 而且別忘了 java.exe 並不是在使用者的路徑下 所以他會去 java.exe 所在的目錄底下去找 .class 檔 除非你的 .class 檔放在跟 java.exe 同一個目錄 否則他是找不到 .class 在哪裡的.... 所以我們要設定一個路徑 讓 JVM 可以去這個路徑尋找你要他執行的 .class 所以你一樣有三種方法可以執行 1. 把所有的 .class 都放到 java.exe 的相對目錄底下 ( 很難管理... ) 2. 每次都打完整路徑, 也就是使用 -cp 的選項 比如 java -cp .;c:\myclass\ Test (其中那個句點 . 表示使用者打這個指令時 所在的目錄) (常打的話很煩 ... ) 3. 設定系統變數 CLASSPATH 到你的 class 的位置
至於系統變數怎麼設定 那要看你在那個平台 依據平台的設定 ( 當然 系統變數不只這兩個, 就算你都沒有去設定 通常安裝完 OS, OS 就會預設一堆系統變數 你只是多手動的加了兩個 )
當然你都不設定也是可以?? 只是很麻煩 比如說你安裝的路徑是 C:\JDK1.3.1\ D:\myclass\Test.class 其中 Test 用到 E:\extclass\Util.class 那你每次執行要打 c:\JDK1.3.1\bin\java -cp e:\extclass;d:\myclass Test 如果你不嫌煩的話 不用設定也是無所謂啦
|
|
討論串
|