1

我有这种情况:

  1. //Tomcat7/webapps/app1/WEB-INF/classes/a/b/c/A.class
  2. //Tomcat7/webapps/app1/WEB-INF/classes/a/b/c/B.class
  3. //Tomcat7/webapps/app2/WEB-INF/classes/a/b/c/B.class(类不同但同名<2>)
  4. //Tomcat7/webapps/app2/WEB-INF/classes/a/b/c/C.class

注意:类目录层次是一样的,只是类文件不同。

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

任何想法这是如何工作的?

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

问候,艾伦

4

1 回答 1

0

这个问题在Tomcat7重启后得到解决。根本原因无法确定。

于 2014-06-20T12:28:25.023 回答