title: Tomcat 8.5 and contextConfig can't initialize
body: <p>I'm running a java application with tomcat 7 (7.0.42) on ubuntu 18 with java 8, I just upgraded my tomcat to tomcat 8.5.30 but an error keep stopping the the proper functioning of my app.
  The server keep running but don't load the web page.</p>
  
  <p>My error : </p>
  
  <pre><code>    09-Jul-2018 14:17:04.099 INFO [main]  org.apache.catalina.core.AprLifecycleListener.init The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
  09-Jul-2018 14:17:04.177 WARNING [main] org.apache.tomcat.util.digester.SetPropertiesRule.begin [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'debug' to '1' did not find a matching property.
  09-Jul-2018 14:17:04.271 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-bio-8080"]
  09-Jul-2018 14:17:04.280 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["ajp-bio-8009"]
  09-Jul-2018 14:17:04.282 INFO [main] org.apache.catalina.startup.Catalina.load Initialization processed in 433 ms
  09-Jul-2018 14:17:04.318 INFO [main] com.mchange.v2.log.MLog.&lt;clinit&gt; MLog clients using java 1.4+ standard logging.
  09-Jul-2018 14:17:04.340 INFO [main] com.mchange.v2.c3p0.C3P0Registry.banner Initializing c3p0-0.9.1.2 [built 21-May-2007 15:04:56; debug? true; trace: 10]
  09-Jul-2018 14:17:04.378 INFO [main] org.apache.catalina.core.StandardService.startInternal Démarrage du service Catalina
  09-Jul-2018 14:17:04.378 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/7.0.42
  09-Jul-2018 14:17:04.496 GRAVE [localhost-startStop-1] org.apache.catalina.startup.ContextConfig.getServletContainerInitializer The ServletContentInitializer [# Licensed to the Apache Software Foundation (ASF) under one or more] could not be created
   java.lang.ClassNotFoundException: # Licensed to the Apache Software Foundation (ASF) under one or more
      at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
      at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
      at java.lang.Class.forName0(Native Method)
      at java.lang.Class.forName(Class.java:274)
      at org.apache.catalina.startup.ContextConfig.getServletContainerInitializer(ContextConfig.java:1652)
      at org.apache.catalina.startup.ContextConfig.processServletContainerInitializers(ContextConfig.java:1562)
      at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1270)
      at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:878)
      at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:376)
      at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
      at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
      at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5322)
      at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
      at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
      at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
      at java.util.concurrent.FutureTask.run(FutureTask.java:262)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      at java.lang.Thread.run(Thread.java:745)
  </code></pre>
  
  <p>as you can see with </p>
  
  <pre><code>09-Jul-2018 14:17:04.378 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/7.0.42
  </code></pre>
  
  <p>it may be caused by an error of version
  here is my web.xml : </p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;web-app    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xmlns="http://java.sun.com/xml/ns/javaee"
              xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
              id="WebApp_ID" 
              version="2.5"&gt;
  
      &lt;display-name&gt;osiris-web&lt;/display-name&gt;
      &lt;context-param&gt;
          &lt;param-name&gt;javax.faces.PROJECT_STAGE&lt;/param-name&gt;
          &lt;param-value&gt;Development&lt;/param-value&gt;
      &lt;/context-param&gt;
      &lt;context-param&gt;
          &lt;param-name&gt;softwareName&lt;/param-name&gt;
          &lt;param-value&gt;OSIRIS&lt;/param-value&gt;
      &lt;/context-param&gt;
      &lt;context-param&gt;
          &lt;param-name&gt;contextConfigLocation&lt;/param-name&gt;
          &lt;param-value&gt;/WEB-INF/applicationContext.xml&lt;/param-value&gt;
      &lt;/context-param&gt;
  
      &lt;welcome-file-list&gt;
          &lt;welcome-file&gt;faces/pages/home.xhtml&lt;/welcome-file&gt;
      &lt;/welcome-file-list&gt;
  
      &lt;servlet&gt;
          &lt;servlet-name&gt;osirisGuiServlet&lt;/servlet-name&gt;
          &lt;servlet-class&gt;org.springframework.web.context.support.HttpRequestHandlerServlet&lt;/servlet-class&gt;
      &lt;/servlet&gt;
      &lt;servlet-mapping&gt;
          &lt;servlet-name&gt;osirisGuiServlet&lt;/servlet-name&gt;
          &lt;url-pattern&gt;/osirisGui&lt;/url-pattern&gt;
      &lt;/servlet-mapping&gt;
  
      &lt;servlet&gt;
          &lt;servlet-name&gt;Faces Servlet&lt;/servlet-name&gt;
          &lt;servlet-class&gt;javax.faces.webapp.FacesServlet&lt;/servlet-class&gt;
          &lt;load-on-startup&gt;1&lt;/load-on-startup&gt;
      &lt;/servlet&gt;
      &lt;servlet-mapping&gt;
          &lt;servlet-name&gt;Faces Servlet&lt;/servlet-name&gt;
          &lt;url-pattern&gt;/faces/*&lt;/url-pattern&gt;
          &lt;url-pattern&gt;*.xhtml&lt;/url-pattern&gt;
          &lt;url-pattern&gt;*.jsf&lt;/url-pattern&gt;
          &lt;url-pattern&gt;*.faces&lt;/url-pattern&gt;
      &lt;/servlet-mapping&gt;
  
      &lt;context-param&gt;
          &lt;description&gt;State saving method: 'client' or 'server' (=default). See JSF Specification 2.5.2&lt;/description&gt;
          &lt;param-name&gt;javax.faces.STATE_SAVING_METHOD&lt;/param-name&gt;
          &lt;param-value&gt;client&lt;/param-value&gt;
      &lt;/context-param&gt;
      &lt;context-param&gt;
          &lt;param-name&gt;javax.faces.FULL_STATE_SAVING_VIEW_IDS&lt;/param-name&gt;
          &lt;param-value&gt;/faces/pages/diva/diva.xhtml&lt;/param-value&gt;
      &lt;/context-param&gt;
      &lt;context-param&gt;
          &lt;param-name&gt;org.richfaces.skin&lt;/param-name&gt;
          &lt;param-value&gt;blueSky&lt;/param-value&gt;
      &lt;/context-param&gt;
  
      &lt;listener&gt;
          &lt;listener-class&gt;com.sun.faces.config.ConfigureListener&lt;/listener-class&gt;
      &lt;/listener&gt;
      &lt;listener&gt;
          &lt;listener-class&gt;org.springframework.web.context.request.RequestContextListener&lt;/listener-class&gt;
      &lt;/listener&gt;
      &lt;listener&gt;
          &lt;listener-class&gt;org.springframework.web.context.ContextLoaderListener&lt;/listener-class&gt;
      &lt;/listener&gt;
      &lt;listener&gt;
          &lt;listener-class&gt;com.airbus.osiris.generic.utils.constant.WebConstantsInitializer&lt;/listener-class&gt;
      &lt;/listener&gt;
      &lt;listener&gt;
          &lt;listener-class&gt;com.eurocopter.osiris.utils.webapp.jsf.ApplicationConstantsInitializer&lt;/listener-class&gt;
      &lt;/listener&gt;
  
      &lt;listener&gt;
          &lt;listener-class&gt;com.eurocopter.osiris.utils.listener.OsirisSessionListener&lt;/listener-class&gt;
      &lt;/listener&gt;
  
      &lt;context-param&gt;
          &lt;param-name&gt;org.richfaces.fileUpload.maxRequestSize&lt;/param-name&gt;
          &lt;param-value&gt;200000000&lt;/param-value&gt;
      &lt;/context-param&gt;
      &lt;context-param&gt;
          &lt;param-name&gt;org.richfaces.fileUpload.createTempFiles&lt;/param-name&gt;
          &lt;param-value&gt;false&lt;/param-value&gt;
      &lt;/context-param&gt;
  
      &lt;session-config&gt;
          &lt;session-timeout&gt;30&lt;/session-timeout&gt;
      &lt;/session-config&gt;
  
      &lt;servlet&gt;
          &lt;description&gt;&lt;/description&gt;
          &lt;display-name&gt;ServletSystemProperties&lt;/display-name&gt;
          &lt;servlet-name&gt;ServletSystemProperties&lt;/servlet-name&gt;
          &lt;servlet-class&gt;com.eurocopter.osiris.utils.system.servlet.ServletSystemProperties&lt;/servlet-class&gt;
      &lt;/servlet&gt;
      &lt;servlet-mapping&gt;
          &lt;servlet-name&gt;ServletSystemProperties&lt;/servlet-name&gt;
          &lt;url-pattern&gt;/systemProperties&lt;/url-pattern&gt;
      &lt;/servlet-mapping&gt;
  
      &lt;servlet&gt;
          &lt;servlet-name&gt;Push Servlet&lt;/servlet-name&gt;
          &lt;servlet-class&gt;org.richfaces.webapp.PushServlet&lt;/servlet-class&gt;
          &lt;load-on-startup&gt;1&lt;/load-on-startup&gt;
      &lt;/servlet&gt;
      &lt;servlet-mapping&gt;
          &lt;servlet-name&gt;Push Servlet&lt;/servlet-name&gt;
          &lt;url-pattern&gt;/__richfaces_push&lt;/url-pattern&gt;
      &lt;/servlet-mapping&gt;
  
      &lt;context-param&gt;
          &lt;param-name&gt;org.richfaces.push.handlerMapping&lt;/param-name&gt;
          &lt;param-value&gt;/__richfaces_push&lt;/param-value&gt;
      &lt;/context-param&gt;
  
      &lt;filter&gt;
          &lt;display-name&gt;SessionTimeoutFilter&lt;/display-name&gt;
          &lt;filter-name&gt;SessionTimeoutFilter&lt;/filter-name&gt;
          &lt;filter-class&gt;com.eurocopter.osiris.utils.filter.SessionTimeoutFilter&lt;/filter-class&gt;
      &lt;/filter&gt;
      &lt;filter-mapping&gt;
          &lt;filter-name&gt;SessionTimeoutFilter&lt;/filter-name&gt;     
          &lt;url-pattern&gt;/faces/*&lt;/url-pattern&gt;
          &lt;url-pattern&gt;*.xhtml&lt;/url-pattern&gt;
      &lt;/filter-mapping&gt;
      &lt;!-- Check database connection --&gt;
      &lt;filter&gt;
          &lt;display-name&gt;DatabaseUnvailableFilter&lt;/display-name&gt;
          &lt;filter-name&gt;DatabaseUnvailableFilter&lt;/filter-name&gt;
          &lt;filter-class&gt;com.eurocopter.osiris.utils.filter.DatabaseUnvailableFilter&lt;/filter-class&gt;
      &lt;/filter&gt;
      &lt;filter-mapping&gt;
          &lt;filter-name&gt;DatabaseUnvailableFilter&lt;/filter-name&gt;     
          &lt;url-pattern&gt;/faces/*&lt;/url-pattern&gt;
          &lt;url-pattern&gt;*.xhtml&lt;/url-pattern&gt;
      &lt;/filter-mapping&gt;
  &lt;/web-app&gt;
  </code></pre>
  
  <p>when you search this problem you find this : <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=55210" rel="nofollow noreferrer">https://bz.apache.org/bugzilla/show_bug.cgi?id=55210</a>
  but I don't know whether the patch was applied or not or how to do it.
  Any ideas?</p>