【问题标题】:Issue with conflicting Java packages [duplicate]Java包冲突的问题[重复]
【发布时间】:2021-08-24 15:16:48
【问题描述】:

我在 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,会考虑哪个路径?

【问题讨论】:

    标签: java package classpath


    【解决方案1】:

    所以,加载类是类加载器的职责。因此,首先 JVM 已经查找了所有自定义类,然后它会转到 jar 文件来检查这些类。 在您的情况下,看起来两者都是自定义类,因此要解决此问题,您必须指定要加载的文件,然后可以添加 dir1 / dir2 以指定确切的类。 JVM 会选择您在层次结构中输入的最新类。

    【讨论】:

    • 同意。自定义类是指自定义 jar 文件,然后是类路径中包含的其他 jar 文件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-10-24
    • 1970-01-01
    • 1970-01-01
    • 2021-02-16
    • 1970-01-01
    • 2017-11-22
    • 2019-04-19
    相关资源
    最近更新 更多