Error when starting Confluence: Handler error: java.lang.ClassNotFoundException: org.slf4j.bridge.SLF4JBridgeHandler

Debajit Adhikary February 18, 2015

I see the following error when trying to run start-confluence.sh:

 

INFO: Starting Servlet Engine: Apache Tomcat/7.0.52
Handler error
java.lang.ClassNotFoundException: org.slf4j.bridge.SLF4JBridgeHandler

 

How can I diagnose what is going wrong here?

The Confluence website lists this in their troubleshooting guide, but the given answer does not help. I have verified that the jars are not corrupted. I redeployed with another download, but the error still does not go away. How can I fix this? Any pointers would be of great help. (I've been stuck with this problem for two days now)

 

----------------------------

Larger stacktrace:

 

Feb 19, 2015 2:14:22 AM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.52
Handler error
java.lang.ClassNotFoundException: org.slf4j.bridge.SLF4JBridgeHandler
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1718)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1569)
at org.apache.juli.ClassLoaderLogManager.readConfiguration(ClassLoaderLogManager.java:558)
at org.apache.juli.ClassLoaderLogManager.readConfiguration(ClassLoaderLogManager.java:501)
at org.apache.juli.ClassLoaderLogManager$2.run(ClassLoaderLogManager.java:400)
at org.apache.juli.ClassLoaderLogManager$2.run(ClassLoaderLogManager.java:396)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.juli.ClassLoaderLogManager.getClassLoaderInfo(ClassLoaderLogManager.java:396)
at org.apache.juli.ClassLoaderLogManager.getLogger(ClassLoaderLogManager.java:231)
at java.util.logging.LogManager.demandLogger(LogManager.java:430)
at java.util.logging.Logger.demandLogger(Logger.java:346)
at java.util.logging.Logger.getLogger(Logger.java:393)
at org.apache.juli.logging.DirectJDKLog.<init>(DirectJDKLog.java:71)
at org.apache.juli.logging.DirectJDKLog.getInstance(DirectJDKLog.java:196)
at org.apache.juli.logging.LogFactory.getInstance(LogFactory.java:169)
at org.apache.juli.logging.LogFactory.getLog(LogFactory.java:310)
at org.apache.catalina.core.ContainerBase.getLogger(ContainerBase.java:452)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5344)
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)
Feb 19, 2015 2:14:23 AM org.apache.catalina.startup.ContextConfig processAnnotationsJar
SEVERE: contextConfig.jarFile
java.io.FileNotFoundException: /apollo/env/WikiConfluence/var/confluence/atlassian-confluence-5.7/webapps/../confluence/WEB-INF/lib/atlassian-extras-core-3.2.jar (No such file or directory)
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:215)
at java.util.zip.ZipFile.<init>(ZipFile.java:145)
at java.util.jar.JarFile.<init>(JarFile.java:154)
at java.util.jar.JarFile.<init>(JarFile.java:91)
at sun.net.www.protocol.jar.URLJarFile.<init>(URLJarFile.java:93)
at sun.net.www.protocol.jar.URLJarFile.getJarFile(URLJarFile.java:69)
at sun.net.www.protocol.jar.JarFileFactory.get(JarFileFactory.java:99)
at sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.java:122)
at sun.net.www.protocol.jar.JarURLConnection.getJarFile(JarURLConnection.java:89)
at org.apache.tomcat.util.scan.FileUrlJar.<init>(FileUrlJar.java:41)
at org.apache.tomcat.util.scan.JarFactory.newInstance(JarFactory.java:34)
at org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:1922)
at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1897)
at org.apache.catalina.startup.ContextConfig.processAnnotations(ContextConfig.java:1882)
at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1314)
at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:873)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:371)
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:5355)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)

 

1 answer

1 accepted

0 votes
Answer accepted
Debajit Adhikary February 20, 2015

Fixed the problem. 

Some of the scripts use pwd to assess what the current directory is. Ensured that I was cd'ed into the bin/ directory before invoking start-confluence.sh from another script.

Also made sure that the logs/ directory and other directories which are empty have dummy files (.gitkeep) in them so that when they are deployed by a script, they get deployed correctly (Confluence looks for these directories at runtime)

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events