Tomcat启动进 类似以下的错误:
java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addFilter
java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addServlet
java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addErrorPage
有两种方法解决:
1、在tomacat的conf下的context.xml里<Context>中加上<Loader delegate="true" />。
经过查询资料显示,该属性含义如下 :
True,表示tomcat将遵循JVM的delegate机制,即一个WebAppClassLoader在加载类文件时,会先递交给SharedClassLoader加载,SharedClassLoader无法加载成功,会继续向自己的父类委托,一直到BootstarpClassLoader,如果都没有加载成功,则最后由WebAppClassLoader自己进行加载。
False,表示将不遵循这个delegate机制,即WebAppClassLoader在加载类文件时,会优先自己尝试加载,如果加载失败,才会沿着继承链,依次委托父类加载。
2、删除您添加在Referenced Libraries 下的catalina.jar包,然后删除Webapp下的部署程序,重新部署后一切正常。
去除发布的部署文件夹WEB-INf/lib下的catalina.jar,因为tomcat已经自带了这个jar包。
2725

被折叠的 条评论
为什么被折叠?



