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

时间:2013-02-13 22:30:43

标签: java tomcat jar

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

对于coreTool的一些增强功能,我添加了新的类文件并将此coreTool保存到coreToolSec.jar并将两个包含到项目中。

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

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

  

对于coreTool的一些增强功能,我添加了新的类文件并保存   这个coreTool到coreToolSec.jar并使两者都包含进去   项目。

为什么不删除旧jar并仅将coreToolSec.jar重命名为coreTool.jar并仅保留在类路径中? 由于您要向现有jar添加新类,因此没有理由再使用第二个jar 所以你在同一个jar中都有新旧类。

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