promotion image of download ymail app
Promoted

20點╱Java中path及classpath設好但都有問題

我的OS為XP,我看的書為碁峰的Java2全方位學習(作者:朱xx,我不知可否打全名..),我是看到第八章,教package的章節,練習範例遇到的問題(當然主要教path那些設定的在第二章啦..)

系統變數裡新增=> JAVA_HOME變數值為C:\Program Files\Java\jdk1.5.0_02

系統變數裡找Path編輯增加 =>;%JAVA_HOME%\bin

新增系統變數 =>CLASSPATH,變數值為.;D:\java2\ch8\version1

我要處理的檔案Zoo.class路徑為==> D:\java2\ch8\version1\zoo\Zoo.java

書上是說,我這些都設好後,在任何路徑下打 javac zoo\Zoo.java可以編譯。

但我老是失敗..> <...

1.不過我如果用下指令的方式就成功(我打javac -classpath d:\java2\ch8\version1 d:\java2\ch8\version1\zoo\Zoo.java)

2.另外,如果我編譯好後,我在任何路徑下都可以執行(我打java zoo.Zoo)

請問我是不是哪裡設錯了??

麻煩各位先進們了!~~~~感恩...

Update:

那請問要如何才能讓"我的 path 指到 D:\java2\ch8\version1" ?

我在path裡又加了 ==> ; D:\java2\ch8\version1 還是不行也...

我記得path是指定"要執行的檔案的路徑" 而classpath則是告訴電腦java和javac所在路徑不是嗎?

還是我邏輯上有錯誤呢?

麻煩泥了......感謝~~~~~

Update 2:

對了,再補充一下,我的錯誤訊息為 ==>

error:can't read zoo\Zoo.java

1 error

Update 3:

真的是反了...~"~

而且我要po的問題原來一切是..我搞錯書上的意思了...

書上是指設classpath就可以從任何路徑run那個xxx.class檔,"而不是指可以在任何路徑compile那個xxx.java檔..."

感謝大大啊....

1 Answer

Rating
  • 1 decade ago
    Favorite Answer

    你的問題是 path 不是 classpath,

    javac zoo\Zoo.java

    會失敗,是 path 的關係,你的 path 有指到 %JAVA_HOME%\bin ,所以 javac 會執行,但你的 path 沒有指到 D:\java2\ch8\version1 ,自然它找不到 zoo 也找不到 zoo.java 來 compiler,所以你的錯誤訊息應該會是"找不到 zoo.java 之類的",而不是找不到 javac

    我在任何路徑下都可以執行(我打java zoo.Zoo)

    這個就表示你的 classpath 都對了,首先要透過 path 能找到 java 這個程式,再透過 classpath 找到 zoo.zoo.class ,由於你 classpath 設為 D:\java2\ch8\version1,自然能執行

    2009-04-12 11:49:29 補充:

    我記得path是指定"要執行的檔案的路徑" 而classpath則是告訴電腦java和javac所在路徑不是嗎?

    反了,不說你的邏輯,我反想問:該不會你的英文....

    error:can't read zoo\Zoo.java

    這是你之前的錯誤訊息?還是加了; D:\java2\ch8\version1(請加上 ; )以後的錯誤訊息?

    這已經告訴你,它找到 zoo\Zoo.java 了,但 can't read (不能讀取)

    這要看你的 C: 或是 檔案 的屬性設定了

    • Commenter avatarLogin to reply the answers
Still have questions? Get your answers by asking now.