Re: [問題] CLASSPATH設了沒用...

看板java作者 (骨頭)時間18年前 (2007/06/25 00:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串14/18 (看更多)
※ 引述《ericabab (ㄍㄠˊ)》之銘言: : 喔喔所以是說 CLASSPATH 跟 : 用javac要編譯 xxxx.java檔根本沒關係的意思囉 : 原來是我誤會了... : 謝謝所有幫我回答的大大 基本上不是沒有關係啦, 不過你的問題應該不是classpath的問題. ──────────────────────────────── 一般來說新手要設定好的環境變數就是 Path classpath (JAVA_HOME有些時候也會用到,最好也設定一下.) 設定Path是可以讓你在任何路徑下, 都能夠使用javac javadoc javaw等指令。 像你說在 JDK路徑以外打javac就無法使用, 如果錯誤訊息是 'javac' 不是內部或外部命令、 可執行的程式或批次檔。 (or bad command .... in dos) 很有可能就是Path沒設定好的關係。 那classpath用途是幹麻的? 因為我們一般來講專案或者資料都不只一個.java檔, 都是幾十個class湊在一起用的,這時候很有可能會再寫A class時 使用到B class的資料。 一般來講我們至少會認為,我A class使用B class的物件, 要編譯的時候只要把B class放在 A class所在的資料夾下就可以了吧? 答案是:錯! 這是在 classpath有設定包含 "." (當前目錄) 的前提下才成立。 這真的是萬年月經題了,我看到沒有上百次也有幾十次 NoClassDefFoundError是這樣來的, 而且都會認為之前都可以操作,突然間就不行。 (通常不是之前是在已經設定好的環境下使用,是用預設 classpath為.的IDE.) 而且老是把被引用的B class搬來搬去也很麻煩吧? 所以我們就會把一些常用的套件放在 JDK的 lib資料夾下, 設定classpath的路徑到lib資料夾, 萬一我們有需要引用到那些class就很方便了. 另外除了環境變數以外,我們一般也可以透過 -cp 參數 手動在執行的時候設定classpath. --  ▄▅▆▇███▇▆▅▄▃        ╰┼╯─╮ ╮         ◥███████████◣       ╰┼╯=│=│         ◥██████───────    *. ╯  ╯ ╯ の 物 語 .*  ◥███████──────◣ ~ ◢◣             ◢◣  ◥██████───────◤   ◥◤  空白的世界.翼 ◥◤  ◥██▁▂▃▄▅▆▇███▆▅▄▃▂▂telnet://tony1223.no-ip.info -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.134.27.68 ※ 編輯: TonyQ 來自: 220.134.27.68 (06/25 00:03) ※ 編輯: TonyQ 來自: 220.134.27.68 (06/25 00:06)
文章代碼(AID): #16VfLUue (java)
討論串 (同標題文章)
文章代碼(AID): #16VfLUue (java)