title: Error running Tomcat in Eclipse
body: <p>I have a gradle project which was running nicely in an embedded tomcat instance in eclipse.  Recently I've added a logging (filter) component created by a colleague which works very well out in the world but seems to stop the application starting up in tomcat/eclipse.  </p>
  
  <p>Having done a little googling I assume it is missing some jars somewhere.  However I have added all the jars referred to by the logging project build file and I have added a jar of the logging component itself and I still get errors (see below).  Is there an easy way to diagnose which actual file is missing from the classpath  and causing the problem (or maybe I have misdiagnosed the problem ?)</p>
  
  <pre><code>May 16, 2016 10:04:07 AM org.apache.tomcat.util.digester.SetPropertiesRule begin
  WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.j2ee.server:data-service-Account' did not find a matching property.
  May 16, 2016 10:04:07 AM org.apache.catalina.startup.VersionLoggerListener log
  INFO: Server version:        Apache Tomcat/8.0.30
  May 16, 2016 10:04:07 AM org.apache.catalina.startup.VersionLoggerListener log
  INFO: Server built:          Dec 1 2015 22:30:46 UTC
  May 16, 2016 10:04:07 AM org.apache.catalina.startup.VersionLoggerListener log
  INFO: Server number:         8.0.30.0
  May 16, 2016 10:04:07 AM org.apache.catalina.startup.VersionLoggerListener log
  INFO: OS Name:               Windows 7
  May 16, 2016 10:04:07 AM org.apache.catalina.startup.VersionLoggerListener log
  INFO: OS Version:            6.1
  May 16, 2016 10:04:07 AM org.apache.catalina.startup.VersionLoggerListener log
  INFO: Architecture:          amd64
  May 16, 2016 10:04:07 AM org.apache.catalina.startup.VersionLoggerListener log
  INFO: Java Home:             C:\software\java\jre1.8.0_66
  May 16, 2016 10:04:07 AM org.apache.catalina.startup.VersionLoggerListener log
  INFO: JVM Version:           1.8.0_66-b18
  May 16, 2016 10:04:07 AM org.apache.catalina.startup.VersionLoggerListener log
  INFO: JVM Vendor:            Oracle Corporation
  May 16, 2016 10:04:07 AM org.apache.catalina.startup.VersionLoggerListener log
  INFO: CATALINA_BASE:         C:\Users\XXX\account_sales\.metadata\.plugins\org.eclipse.wst.server.core\tmp0
  May 16, 2016 10:04:07 AM org.apache.catalina.startup.VersionLoggerListener log
  INFO: CATALINA_HOME:         C:\software\apache-tomcat-8.0.30
  May 16, 2016 10:04:07 AM org.apache.catalina.startup.VersionLoggerListener log
  INFO: Command line argument: -Dcatalina.base=C:\Users\XXX\account_sales\.metadata\.plugins\org.eclipse.wst.server.core\tmp0
  May 16, 2016 10:04:07 AM org.apache.catalina.startup.VersionLoggerListener log
  INFO: Command line argument: -Dcatalina.home=C:\software\apache-tomcat-8.0.30
  May 16, 2016 10:04:07 AM org.apache.catalina.startup.VersionLoggerListener log
  INFO: Command line argument: -Dwtp.deploy=C:\Users\XXX\account_sales\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps
  May 16, 2016 10:04:07 AM org.apache.catalina.startup.VersionLoggerListener log
  INFO: Command line argument: -Djava.endorsed.dirs=C:\software\apache-tomcat-8.0.30\endorsed
  May 16, 2016 10:04:07 AM org.apache.catalina.startup.VersionLoggerListener log
  INFO: Command line argument: -Dfile.encoding=Cp1252
  May 16, 2016 10:04:07 AM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
  INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\software\java\jre1.8.0_66\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/software/java/jre1.8.0_66/bin/server;C:/software/java/jre1.8.0_66/bin;C:/software/java/jre1.8.0_66/lib/amd64;C:\Ruby22-x64\bin;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\software\Git\cmd;C:\software\java\bin;C:\software\apache-maven-3.3.9\bin;C:\software\gradle-2.12\bin;C:\software\nodejs\;C:\software\java\lib;C:\Program Files (x86)\PuTTY\;C:\Program Files (x86)\File Viewer Lite\lib\magick;C:\software\PostgreSQL\9.4\bin;C:\Users\XXX\AppData\Roaming\npm;C:\software\eclipse;;.
  May 16, 2016 10:04:07 AM org.apache.coyote.AbstractProtocol init
  INFO: Initializing ProtocolHandler ["http-nio-8080"]
  May 16, 2016 10:04:07 AM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
  INFO: Using a shared selector for servlet write/read
  May 16, 2016 10:04:07 AM org.apache.coyote.AbstractProtocol init
  INFO: Initializing ProtocolHandler ["ajp-nio-8009"]
  May 16, 2016 10:04:07 AM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
  INFO: Using a shared selector for servlet write/read
  May 16, 2016 10:04:07 AM org.apache.catalina.startup.Catalina load
  INFO: Initialization processed in 714 ms
  May 16, 2016 10:04:07 AM org.apache.catalina.core.StandardService startInternal
  INFO: Starting service Catalina
  May 16, 2016 10:04:07 AM org.apache.catalina.core.StandardEngine startInternal
  INFO: Starting Servlet Engine: Apache Tomcat/8.0.30
  May 16, 2016 10:04:08 AM org.apache.jasper.servlet.TldScanner scanJars
  INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
  May 16, 2016 10:04:09 AM org.apache.jasper.servlet.TldScanner scanJars
  INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
  May 16, 2016 10:04:09 AM org.apache.catalina.core.ApplicationContext log
  INFO: Spring WebApplicationInitializers detected on classpath: [com.service.account.config.DataServiceInitilizer@59a893f0]
  May 16, 2016 10:04:09 AM org.apache.catalina.core.ContainerBase startInternal
  SEVERE: A child container failed during start
  java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/data-service-Account.war]]
      at java.util.concurrent.FutureTask.report(Unknown Source)
      at java.util.concurrent.FutureTask.get(Unknown Source)
      at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:916)
      at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:871)
      at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
      at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1408)
      at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1398)
      at java.util.concurrent.FutureTask.run(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)
  Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/data-service-Account.war]]
      at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
      ... 6 more
  Caused by: java.lang.NoClassDefFoundError: javax/servlet/Filter
      at java.lang.ClassLoader.defineClass1(Native Method)
      at java.lang.ClassLoader.defineClass(Unknown Source)
      at java.security.SecureClassLoader.defineClass(Unknown Source)
      at java.net.URLClassLoader.defineClass(Unknown Source)
      at java.net.URLClassLoader.access$100(Unknown Source)
      at java.net.URLClassLoader$1.run(Unknown Source)
      at java.net.URLClassLoader$1.run(Unknown Source)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.net.URLClassLoader.findClass(Unknown Source)
      at java.lang.ClassLoader.loadClass(Unknown Source)
      at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
      at java.lang.ClassLoader.loadClass(Unknown Source)
      at java.lang.ClassLoader.loadClass(Unknown Source)
      at java.lang.Class.forName0(Native Method)
      at java.lang.Class.forName(Unknown Source)
      at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1319)
      at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1167)
      at com.service.Account.config.DataServiceInitilizer.getServletFilters(DataServiceInitilizer.java:33)
      at org.springframework.web.servlet.support.AbstractDispatcherServletInitializer.registerDispatcherServlet(AbstractDispatcherServletInitializer.java:106)
      at org.springframework.web.servlet.support.AbstractDispatcherServletInitializer.onStartup(AbstractDispatcherServletInitializer.java:71)
      at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:175)
      at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5244)
      at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
      ... 6 more
  Caused by: java.lang.ClassNotFoundException: javax.servlet.Filter
      at java.net.URLClassLoader.findClass(Unknown Source)
      at java.lang.ClassLoader.loadClass(Unknown Source)
      at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
      at java.lang.ClassLoader.loadClass(Unknown Source)
      ... 29 more
  
  May 16, 2016 10:04:09 AM org.apache.catalina.core.ContainerBase startInternal
  SEVERE: A child container failed during start
  java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]
      at java.util.concurrent.FutureTask.report(Unknown Source)
      at java.util.concurrent.FutureTask.get(Unknown Source)
      at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:916)
      at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
      at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
      at org.apache.catalina.core.StandardService.startInternal(StandardService.java:441)
      at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
      at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:769)
      at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
      at org.apache.catalina.startup.Catalina.start(Catalina.java:625)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:351)
      at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:485)
  Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost]]
      at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
      at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1408)
      at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1398)
      at java.util.concurrent.FutureTask.run(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)
  Caused by: org.apache.catalina.LifecycleException: A child container failed during start
      at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:924)
      at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:871)
      at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
      ... 6 more
  
  May 16, 2016 10:04:09 AM org.apache.catalina.startup.Catalina start
  SEVERE: The required Server component failed to start so Tomcat is unable to start.
  org.apache.catalina.LifecycleException: Failed to start component [StandardServer[8005]]
      at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
      at org.apache.catalina.startup.Catalina.start(Catalina.java:625)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:351)
      at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:485)
  Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardService[Catalina]]
      at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
      at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:769)
      at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
      ... 7 more
  Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina]]
      at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
      at org.apache.catalina.core.StandardService.startInternal(StandardService.java:441)
      at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
      ... 9 more
  Caused by: org.apache.catalina.LifecycleException: A child container failed during start
      at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:924)
      at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
      at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
      ... 11 more
  
  May 16, 2016 10:04:09 AM org.apache.coyote.AbstractProtocol pause
  INFO: Pausing ProtocolHandler ["http-nio-8080"]
  May 16, 2016 10:04:09 AM org.apache.coyote.AbstractProtocol pause
  INFO: Pausing ProtocolHandler ["ajp-nio-8009"]
  May 16, 2016 10:04:09 AM org.apache.catalina.core.StandardService stopInternal
  INFO: Stopping service Catalina
  May 16, 2016 10:04:09 AM org.apache.coyote.AbstractProtocol destroy
  INFO: Destroying ProtocolHandler ["http-nio-8080"]
  May 16, 2016 10:04:09 AM org.apache.coyote.AbstractProtocol destroy
  SEVERE: Failed to destroy end point associated with ProtocolHandler ["http-nio-8080"]
  java.lang.NullPointerException
      at org.apache.tomcat.util.net.NioEndpoint.releaseCaches(NioEndpoint.java:305)
      at org.apache.tomcat.util.net.NioEndpoint.unbind(NioEndpoint.java:481)
      at org.apache.tomcat.util.net.AbstractEndpoint.destroy(AbstractEndpoint.java:823)
      at org.apache.coyote.AbstractProtocol.destroy(AbstractProtocol.java:533)
      at org.apache.catalina.connector.Connector.destroyInternal(Connector.java:1023)
      at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:305)
      at org.apache.catalina.core.StandardService.destroyInternal(StandardService.java:589)
      at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:305)
      at org.apache.catalina.core.StandardServer.destroyInternal(StandardServer.java:859)
      at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:305)
      at org.apache.catalina.startup.Catalina.start(Catalina.java:629)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:351)
      at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:485)
  
  May 16, 2016 10:04:09 AM org.apache.coyote.AbstractProtocol destroy
  INFO: Destroying ProtocolHandler ["ajp-nio-8009"]
  May 16, 2016 10:04:09 AM org.apache.coyote.AbstractProtocol destroy
  SEVERE: Failed to destroy end point associated with ProtocolHandler ["ajp-nio-8009"]
  java.lang.NullPointerException
      at org.apache.tomcat.util.net.NioEndpoint.releaseCaches(NioEndpoint.java:305)
      at org.apache.tomcat.util.net.NioEndpoint.unbind(NioEndpoint.java:481)
      at org.apache.tomcat.util.net.AbstractEndpoint.destroy(AbstractEndpoint.java:823)
      at org.apache.coyote.AbstractProtocol.destroy(AbstractProtocol.java:533)
      at org.apache.catalina.connector.Connector.destroyInternal(Connector.java:1023)
      at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:305)
      at org.apache.catalina.core.StandardService.destroyInternal(StandardService.java:589)
      at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:305)
      at org.apache.catalina.core.StandardServer.destroyInternal(StandardServer.java:859)
      at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:305)
      at org.apache.catalina.startup.Catalina.start(Catalina.java:629)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:351)
      at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:485)
  
  May 16, 2016 10:04:09 AM org.apache.catalina.core.ApplicationContext log
  INFO: Closing Spring root WebApplicationContext
  </code></pre>