Uploaded image for project: 'Log4j 2'
  1. Log4j 2
  2. LOG4J2-1051

NoClassDefFoundError when starting app on Google App Engine

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.4, 2.7
    • Component/s: Core
    • Labels:
      None
    • Environment:

      master branch, JDK7, Google App Engine, Apache Struts 2.5

      Description

      I have an app that uses

      • log4j-api
      • log4j-core
      • log4j-web

      and after deploying it to GAE I see such exception in the logs

      2015-06-10 23:01:05.768
      Uncaught exception from servlet
      java.lang.NoClassDefFoundError: Could not initialize class org.apache.logging.log4j.core.util.Loader
      	at org.apache.logging.log4j.core.lookup.Interpolator.<init>(Interpolator.java:114)
      	at org.apache.logging.log4j.core.config.AbstractConfiguration.<init>(AbstractConfiguration.java:105)
      	at org.apache.logging.log4j.core.config.NullConfiguration.<init>(NullConfiguration.java:30)
      	at org.apache.logging.log4j.core.LoggerContext.<clinit>(LoggerContext.java:62)
      	at org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.locateContext(ClassLoaderContextSelector.java:145)
      	at org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.getContext(ClassLoaderContextSelector.java:70)
      	at org.apache.logging.log4j.core.selector.ClassLoaderContextSelector.getContext(ClassLoaderContextSelector.java:57)
      	at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:142)
      	at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:42)
      	at org.apache.logging.log4j.LogManager.getContext(LogManager.java:175)
      	at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:426)
      	at org.apache.struts2.tiles.StrutsTilesListener.<clinit>(StrutsTilesListener.java:50)
      	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
      	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
      	at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
      	at java.lang.Class.newInstance(Class.java:375)
      	at org.mortbay.jetty.webapp.WebXmlConfiguration.newListenerInstance(WebXmlConfiguration.java:650)
      	at org.mortbay.jetty.webapp.WebXmlConfiguration.initListener(WebXmlConfiguration.java:631)
      	at org.mortbay.jetty.webapp.WebXmlConfiguration.initWebXmlElement(WebXmlConfiguration.java:368)
      	at org.mortbay.jetty.webapp.WebXmlConfiguration.initialize(WebXmlConfiguration.java:289)
      	at org.mortbay.jetty.webapp.WebXmlConfiguration.configure(WebXmlConfiguration.java:222)
      	at org.mortbay.jetty.webapp.WebXmlConfiguration.configureWebApp(WebXmlConfiguration.java:180)
      	at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1247)
      	at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
      	at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
      	at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
      	at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.createHandler(AppVersionHandlerMap.java:199)
      	at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.getHandler(AppVersionHandlerMap.java:174)
      	at com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:134)
      	at com.google.apphosting.runtime.JavaRuntime$RequestRunnable.run(JavaRuntime.java:527)
      	at com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:437)
      	at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:444)
      	at com.google.tracing.CurrentContext.runInContext(CurrentContext.java:230)
      	at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:308)
      	at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:300)
      	at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:441)
      	at com.google.apphosting.runtime.ThreadGroupPool$PoolEntry.run(ThreadGroupPool.java:251)
      	at java.lang.Thread.run(Thread.java:745)
      

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                remkop@yahoo.com Remko Popma
                Reporter:
                lukaszlenart Lukasz Lenart
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: