Java 构建路径中相同的多个jar,会出现问题吗?

Java 构建路径中相同的多个jar,会出现问题吗?,java,Java,我有一个项目名称:examplePrj。 此项目包含3个jar(包含在examplePrj的构建路径中) 这三个罐子是:A.jar,B.jar,C.jar 假设A.jar和B.jar包含tbd.jar。 我们说过examplePrj包含A.jar和B.jar tbd.jar是否会包含两次? 对演出有什么影响吗 与Q1相同,但除此之外,项目examplePrj包含tbd.jar(总共包括3个) ?这里首先要注意的是,JAR中的类是由类加载器加载的 现在考虑到tbd.jar中有相同的类,Oracle

我有一个项目名称:examplePrj。 此项目包含3个jar(包含在examplePrj的构建路径中) 这三个罐子是:A.jar,B.jar,C.jar

  • 假设A.jar和B.jar包含tbd.jar。 我们说过examplePrj包含A.jar和B.jar tbd.jar是否会包含两次? 对演出有什么影响吗

  • 与Q1相同,但除此之外,项目examplePrj包含tbd.jar(总共包括3个)


  • 这里首先要注意的是,JAR中的类是由类加载器加载的


    现在考虑到tbd.jar中有相同的类,Oracle将只加载这些类一次。指定多个类路径项的顺序很重要。Java解释器将按照类路径变量中出现的顺序在目录中查找类。

    tbd.jar
    放在另一个jar中有什么作用?标准类加载器找不到其中的类。如果
    tbd.jar
    包含类文件,
    A.jar
    包含
    tbd.jar
    ,并且您在类路径中使用
    javac
    A.jar
    (但不是
    tbd.jar
    )类文件标准类加载器将不会在
    tbd.jar中找到/加载。