2012-11-14 139 views
0

我的計劃是在C:\用戶默認類路徑的java

X.java使用一些文件,這些文件在y.jar,z.jar \程序\ x.java。

y.jar和z.jar位於C:\ Users \ Programs文件夾中。

(1) C:用戶\程序>的javac x.java

(2) C:用戶\程序>的javac -classpath y.jar:z.jar x.java

我當我做(2)時我沒有得到任何錯誤,但是當我做(1)我得到錯誤。是不是該類路徑設置爲當前文件夾。如果是這樣,爲什麼沒有看到y.jar和z.jar。

回答

1

類路徑包含當前文件夾。
但是,它不包含當前文件夾的子文件夾。

如果您嘗試使用com.example.MyClass,Java將查找名爲com/example/MyClass.class直接在classpath中的每個文件夾內的文件。
它不會查看類路徑中文件夾內的子文件夾或JAR。

2

駐留在類路徑中的jar的內容不會自動添加到類路徑本身。在你的情況下,適當的類路徑將是你在情況(2)中指定的。

0

是的,默認情況下classpath應該確實設置爲當前文件夾。但是,將其設置爲給定文件夾與將其設置爲特定的JAR文件不同。