我在搞乱类路径等。还有一些我完全不明白的东西......
假设我们在 dir 结构中有两个文件,如下所示:
[current dir]
|
org
|
amigo
|
|---A.class
|---B.java
A类:
package org.amigo;
public class A {}
B类:
package org.amigo;
public class B extends A {}
到目前为止一切顺利......现在,在current dir
我们调用
javac org\amigo\B.java
这编译类就好了。接下来我们试试
javac -cp . org\amigo\B.java
这也有效。但是...当我们尝试运行时
javac -cp .:org org\amigo\B.java
我们得到一个:
cannot find symbol
symbol: class A
public class B extends A {
^
1 error
Sooooo....我的问题是 - 为什么这不起作用?
(当然,我们可以替换-cp .:org
为-cp .:[any dir]
并仍然得到相同的结果。)
据我了解(我吗?... -_-)该-classpath
选项,它只是让我们指定在哪些目录中搜索所需的类。因此,如果 A.class 存在于这些目录之一中,它不应该工作吗?我的意思是 - 只是这个-cp .
选项有效!