0

我的程序在 C:\Users\Programs\x.java

X.java 正在使用 y.jar、z.jar 中的一些文件。

y.jar 和 z.jar 位于 C:\Users\Programs 文件夹中。

(1) C:Users\Programs> javac x.java

(2) C:Users\Programs> javac -classpath y.jar:z.jar x.java

当我做(2)时我没有收到任何错误,但是当我做(1)时我收到了错误。是不是将类路径设置为当前文件夹。如果是这样,为什么它没有看到 y.jar 和 z.jar。

4

3 回答 3

2

驻留在类路径中的 jar 的内容不会自动添加到类路径本身。在您的情况下,正确的类路径将是您在情况 (2) 中指定的。

于 2012-11-14T21:13:32.247 回答
1

类路径包括当前文件夹。
但是,它不包括当前文件夹的子文件夹。

如果您尝试使用,Java 将直接在类路径中的每个文件夹中com.example.MyClass查找一个名为的文件。 它不会查看类路径中文件夹内的子文件夹或 JAR。com/example/MyClass.class

于 2012-11-14T21:14:13.127 回答
0

是的,classpath 确实应该默认设置为当前文件夹。但是,将其设置为给定文件夹与将其设置为特定 JAR 文件不同。

于 2012-11-14T21:14:34.543 回答