它会引起罐子地狱吗?或者其他一些类加载器问题



环境:tomcat 6我在一个网络项目中使用了一个coreTool.jar。

为了增强coreTool,我添加了新的类文件,并将这个coreTool保存到coreToolSec.jar中,并将两者都包含在项目中。

正如你所看到的,会有很多具有相同包名和类名的重复类,我担心这样做可能会导致系统出错。

有什么想法吗?

不要那样做。将新的类文件添加到coreTool.jar

为了增强coreTool,我添加了新的类文件并保存将此coreTool转换为coreToolSec.jar,并使两者都包含在项目

为什么不删除旧的jar,只保留coreToolSec.jar将其重命名为coreTool.jar,并只保留在类路径中
没有理由使用第二个jar,因为您正在向现有的jar中添加新的类
因此,在同一个罐子中既有旧类也有新类。

这里的朋友可以纠正我,但按照你的方式,会发生以下情况:
jar是根据类路径中的顺序加载的,因此例如,旧类将首先由类加载器加载,然后它们将不会被重新加载(因为类加载器只加载每个类一次),然后新类将从最新的jar加载
但是,您将有一部分来自旧jar的类和一部分来自新jar的类
我不确定这是否会引起问题。

最新更新