Bamboo does not start after upgrade due to ClassNotFoundException exception

Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.

Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Except Fisheye and Crucible

Problem

Bamboo fails to start after an upgrade. The following message is logged in <bamboo-installation-directory>/logs/catalina.out:

1 2 3 4 5 6 7 8 05-Aug-2016 09:53:08.288 WARNING [main] org.apache.catalina.startup.Catalina.load Catalina.start using conf/server.xml: Error at (34, 68) : org.apache.catalina.core.JasperListener 05-Aug-2016 09:53:08.296 SEVERE [main] org.apache.tomcat.util.digester.Digester.startElement Begin event threw exception java.lang.ClassNotFoundException: org.apache.catalina.core.JasperListener at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at org.apache.tomcat.util.digester.ObjectCreateRule.begin(ObjectCreateRule.java:116) at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1178)

Cause

This is caused because the server.xml is misconfigured. Older releases of Bamboo used to reference this class like so:

1 <Listener className="org.apache.catalina.core.JasperListener" />

However, newer releases of Bamboo are shipped with different Tomcat releases and this class is no longer recognized.

Resolution

Remove the line following line from your <bamboo-installation-directory>/conf/server.xmlfor Bamboo releases using Tomcat 8:

1 <Listener className="org.apache.catalina.core.JasperListener" />

You must not simply copy over a server.xml from an older Bamboo version while upgrading but instead replay your changes (proxy or connector customizations) onto the server.xml that we ship on the current release. Carefully review the differences between your customized version and the default version and re-apply your custom changes manually to prevent overwriting configuration changes between different versions of Bamboo/Tomcat.

Updated on April 16, 2025

Still need help?

The Atlassian Community is here for you.