title: Unable to start Tomcat due to NoClassDefFoundError: org/apache/commons/configuration/ConfigurationFactory
body: <p>Our app currently runs on Java 8, but we have older versions that are running Java 6. When I checkout one of these older branches, refresh my Maven repository, clean the workspace (Eclipse IDE), etc doing all the things I tend to do to get our app running locally when the version changes significantly, I get an error on starting tomcat:</p>
  
  <pre><code>    SEVERE: A child container failed during start
  java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/ssplus]]
      at java.util.concurrent.FutureTask.report(FutureTask.java:122)
      at java.util.concurrent.FutureTask.get(FutureTask.java:192)
      at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1239)
      at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:819)
      at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
      at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1700)
      at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1690)
      at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
      at java.lang.Thread.run(Thread.java:748)
  Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/ssplus]]
      at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:162)
      ... 6 more
  Caused by: java.lang.NoClassDefFoundError: Lorg/apache/commons/configuration/ConfigurationFactory;
      at java.lang.Class.getDeclaredFields0(Native Method)
      at java.lang.Class.privateGetDeclaredFields(Class.java:2583)
      at java.lang.Class.getDeclaredFields(Class.java:1916)
      at org.apache.catalina.util.Introspection.getDeclaredFields(Introspection.java:106)
      at org.apache.catalina.startup.WebAnnotationSet.loadFieldsAnnotation(WebAnnotationSet.java:270)
      at org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.java:139)
      at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:65)
      at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:417)
      at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:891)
      at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:388)
      at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
      at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
      at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5519)
      at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
      ... 6 more
  Caused by: java.lang.ClassNotFoundException: org.apache.commons.configuration.ConfigurationFactory
      at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1892)
      at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1735)
      ... 20 more
  </code></pre>
  
  <p>I don't have any errors in the workspace, and the Commons Configuration jar is in my maven repository. Any ideas on what might be the problem?</p>