Tomcat 7 ClassLoader如何从2个webapps,相同的包/类层次结构,不同的类加载?

时间:2014-06-04 09:08:43

标签: java tomcat7 classloader tanuki

我有这种情况:

  1. // Tomcat7 / web应用/ APP1 / WEB-INF /类/ A / B / C /的A.class
  2. // Tomcat7 / web应用/ APP1 / WEB-INF /类/ A / B / C / B.class
  3. // Tomcat7 / webapps / app2 / WEB-INF / classes / a / b / c / B.class(不同的类,但同名< 2>)
  4. // Tomcat7 / web应用/ APP2 / WEB-INF /类/ A / B / C / C.class
  5. 注意:类目录层次结构是相同的,只是类文件不同。

    app1的日志文件包含 A.class的NoClassDefFoundError 。检查目录,类文件肯定在那里。现在我试图弄清楚ClassLoader是否可能只加载B.class而不是A.class,尽管每个webapps都应该有一个ClassLoader - 这意味着两个ClassLoader?

    任何想法如何运作?

    编辑:Tomcat7是通过Tanuki JWS启动的。从wrapper.log,我可以看到app2首先被初始化,然后只有app1。

    此致 艾伦

1 个答案:

答案 0 :(得分:0)

重新启动Tomcat7后,此问题已得到解决。根本原因无法确定。