我正在学习类路径,以及如何在类路径中插入包文件,但是在理解此示例时遇到了问题。这里是 :

给定默认的类路径:
              / foo
而这个目录结构:

 foo
  |
 test
   |
   xcom
    |--A.class
    |--B.java


和这两个文件:

package xcom;
public class A { }
package xcom;
public class B extends A { }


哪个允许B.java进行编译?

A.将当前目录设置为xcom然后调用
javac -classpath。 B.java

B.设置当前目录进行测试然后调用
javac -classpath。 xcom / B.java

只有B编译,我的问题是A为什么不编译?
如果我们将当前目录设置为xcom,那么由于xcom中存在A.class,A也应该可以正常工作,但事实并非如此,为什么呢?

提前致谢

最佳答案

因为它正在寻找包xcom作为xcom的子目录。

classpath设置为..,并且选项A有效。

07-24 18:51