1.在tomcat 配置文件context.xml中添加<Loader delegate="true" />即可
十二月 08, 2018 10:49:59 上午 org.apache.tomcat.util.digester.Digester endElement
严重: End event threw exception
java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addServlet
十二月 08, 2018 10:49:59 上午 org.apache.catalina.startup.ContextConfig parseWebXml
严重: Parse error in application web.xml file at file:/C:/Users/Administrator/.IntelliJIdea2018.1/system/tomcat/Unnamed_ssm_common_2/conf/web.xml
2.<Loader delegate="true" />代表什么意思
(1) delegate="true"
JVM的delegate机制,即一个WebAppClassLoader在加载类文件时,会先递交给SharedClassLoader加载,SharedClassLoader无法加载成功,会继续向自己的父类委托,一直到BootstarpClassLoader,如果都没有加载成功,则最后由WebAppClassLoader自己进行加载。
(2)delegate="false"
表示将不遵循这个delegate机制,即WebAppClassLoader在加载类文件时,会优先自己尝试加载,如果加载失败,才会沿着继承链,依次委托父类加载。
一旦配置为False,就要注意多个WebApp公用jar包存放位置,你可能会放到${CATALINA_HOME}/shared目录中共享,但是一不小心在应用的/WEB-INF/lib中也包含了一个同名的但版本不一致的jar的话,这就有可能会导致很多奇怪的问题。