自定义Tomcat Webapp ClassLoader

Jim*_*Jim 4 java tomcat classloader contextclassloader tomcat6

我正在尝试为tomcat实现自定义类加载器.我的第一次尝试产生了类强制转换异常(显然,tomcat尝试将我的加载器强制转换为org.apache.catalina.loader.WebappLoader).好吧,我扩展了WebappLoader并将catalina.jar添加到我的构建路径中.

现在我准备好部署(我想).我收到这个错误:

严重:Catalina.start:LifecycleException:start :: java.lang.NoClassDefFoundError:org/apache/catalina/loader/WebappLoader

Tomcat带有catalina.jar来运行,所以我99.9%肯定它已经加载到tomcat中.我通过检查/server/lib/catalina.jar验证了这一点,它包含了apache WebappLoader.此外,正如预期的那样,手动链接另一个catalina.jar会产生一大堆问题.

我糊涂了.任何提示都会很热.

谢谢!

更新:有趣的是,tomcat6上的相同内容(扩展WebappLoader;在tomcat5.5上运行)仍会导致ClassCastException.听起来像执行演员表的类是使用与加载我的类的装载器不同的加载器加载的.我不知道我怎么能控制它,除非在某处可能有另一个丢失的tomcat配置?对tomcat6有什么想法吗?

小智 5

也许我是密集的,但我认为应该是WebappClassLoader,而不是WebappLoader.导入看起来不错.