最近在tomcat7上部署项目时,一启动就报错报错:java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addFilter
具体异常信息以下:
java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addFilter
......
Caused by: java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addFilterjava
解决办法为:在tomcat目录下conf下的context.xml中添加<Loader delegate="true"/> 属性。apache
通过查询资料显示,该属性含义以下 。tomcat
True,表示tomcat将遵循JVM的delegate机制,即一个WebAppClassLoader在加载类文件时,会先递交给SharedClassLoader加载,SharedClassLoader没法加载成功,会继续向本身的父类委托,一直到BootstarpClassLoader,若是都没有加载成功,则最后由WebAppClassLoader本身进行加载。
False,表示将不遵循这个delegate机制,即WebAppClassLoader在加载类文件时,会优先本身尝试加载,若是加载失败,才会沿着继承链,依次委托父类加载。ide