我的程序位于C:\ Users \ Programs \ x.java
X.java正在使用y.jar,z.jar。
中的一些文件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。
答案 0 :(得分:2)
驻留在类路径上的jar的内容不会自动添加到类路径本身。您案例中的正确类路径将是您在案例(2)中指定的。
答案 1 :(得分:1)
类路径包含当前文件夹 但是,它不包括当前文件夹的子文件夹。
如果您尝试使用com.example.MyClass
,Java将在类路径中的每个文件夹中查找名为com/example/MyClass.class
的文件。
它不会查找类路径中文件夹内的子文件夹或JAR。
答案 2 :(得分:0)
是的,默认情况下,classpath确实应该设置为当前文件夹。但是,将其设置为给定文件夹与将其设置为特定JAR文件不同。