Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如果将两个具有不同名称的相似JAR添加到类路径中,会发生什么情况?_Java - Fatal编程技术网

Java 如果将两个具有不同名称的相似JAR添加到类路径中,会发生什么情况?

Java 如果将两个具有不同名称的相似JAR添加到类路径中,会发生什么情况?,java,Java,如果两个内容相同的jar(比如jarA,jarA_old)被添加到工作jar的类路径中(即在主jar的清单文件中,其库文件夹中同时包含jarA和jarA_old)。 那么,当调用或导入其中的类时,将考虑哪个Jar JarA在其清单中有以下内容: Build-Date: Fri, 18 May 2012 12:28:40 Build-Environment: x86 Windows XP 5.1 Build-Number: 5 Build-Date: Wed, 23 Nov 2011 06:34:

如果两个内容相同的jar(比如jarA,jarA_old)被添加到工作jar的类路径中(即在主jar的清单文件中,其库文件夹中同时包含jarA和jarA_old)。 那么,当调用或导入其中的类时,将考虑哪个Jar

JarA在其清单中有以下内容:

Build-Date: Fri, 18 May 2012 12:28:40 Build-Environment: x86 Windows XP 5.1 Build-Number: 5 Build-Date: Wed, 23 Nov 2011 06:34:39 Build-Environment: x86 Windows XP 5.1 Build-Number: 4 建造日期:2012年5月18日星期五12:28:40 生成环境:x86 Windows XP 5.1 建造编号:5 JarA_在其清单中指出:

Build-Date: Fri, 18 May 2012 12:28:40 Build-Environment: x86 Windows XP 5.1 Build-Number: 5 Build-Date: Wed, 23 Nov 2011 06:34:39 Build-Environment: x86 Windows XP 5.1 Build-Number: 4 建造日期:2011年11月23日星期三06:34:39 生成环境:x86 Windows XP 5.1 建造编号:4
除此之外,所有其他细节都是类似的。

类加载器将尝试按顺序在类路径的所有JAR中查找类。一旦它在一个罐子中找到它,它就会从这个罐子中加载它。

请参见,它会按照罐子的列出顺序搜索罐子。将使用找到的第一个匹配项。

规格订单

指定多个类路径项的顺序很重要。 Java解释器将在 目录在类路径变量中的显示顺序。在里面 在上面的示例中,Java解释器将首先查找所需的 类在目录C:\java\MyClasses中。除非它找不到一个 解释器将在该目录中使用正确的名称初始化 在C:\java\OtherClasses目录中


你让我好奇。我也想知道。这可能是依赖冲突。@VighaneshGursale-也许可以。或者它可能工作得很好。@StephencYa,但通常不工作,例如Hibernate或任何与框架相关的项目。谢谢你的评论,你也是对的。+1作为参考。谢谢你澄清。。