Tomcat类加载问题

时间:2015-05-07 08:38:27

标签: tomcat classloader

我在同一个Tomcat(8.0.14)实例中有2个应用程序。两个war文件都包含相同的jar文件,但版本不同。 我看到两个应用程序都使用第二个应用程序中的jar文件。我认为tomcat为2个应用程序提供了不同的类加载器。很遗憾,我找不到任何解释此问题的文档。这是一个错误还是预期的行为?

Jars位于

APP1
  WEB-INF
    LIB
      lib-version1.jar

APP2
  WEB-INF
    LIB
      lib-version2.jar

更新: 类加载工作得很好。我遇到的问题似乎是一个类加载问题是由其他原因造成的

1 个答案:

答案 0 :(得分:3)

Tomcat对应用程序确实有不同的ClassLoader s,确切地说:

    Bootstrap
        |
     System
        |
     Common
     /     \
Webapp1   Webapp2 ... 

来源:Tomcat documentation

也许您已将您的课程放入$CATALINA_HOME/lib,这是由公共ClassLoader加载的,这会导致此问题。