Java 包冲突问题

Issue with conflicting Java packages

我在使用 Java 的这个包概念时遇到了一些困难。假设我有以下两个目录结构。

dir1
|___com
    |___example
        |___mypackage
            |___myclass.class

dir2
    |___com
        |___example
            |___mypackage
                |___myclass.class

所以 myclass.class 文件都是 com.example.mypackage 的一部分。现在如果 dir1dir2 都在 CLASSPATH 上并且我写 import com.exaple.mypackage.myclass,将考虑哪个路径?

所以,class加载程序负责加载classes。因此,首先 JVM 查找了自定义 classes,然后它进入 jar 文件来检查 classes。 在您的情况下,看起来两者都是自定义 classes 因此要解决此问题,您必须指定要加载的文件,然后您可以添加 dir1 / dir2 以指定确切的 class。 JVM 选择您在层次结构中输入的最新 classes。