我有这种情况:
- //Tomcat7/webapps/app1/WEB-INF/classes/a/b/c/A.class
- //Tomcat7/webapps/app1/WEB-INF/classes/a/b/c/B.class
- //Tomcat7/webapps/app2/WEB-INF/classes/a/b/c/B.class(类不同但同名<2>)
- //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。
问候,艾伦