Bamboo Data Center Upgrade fails with the error "this version of the Java Runtime only recognizes class file versions up to XX"
Platform Notice: Data Center - This article applies to Atlassian products on the Data Center platform.
Note that this knowledge base article was created for the Data Center version of the product. Data Center knowledge base articles 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
Summary
This page covers a scenario where a Bamboo upgrade fails while trying to upgrade Bamboo from version 8.0.1 to 9.6 with the error "this version of the Java Runtime only recognizes class file versions up to XX".
Environment
This upgrade was tested by performing an upgrade from version 8.0.1 to version 9.6.3 but the solution will be applicable for other Bamboo versions as well
Diagnosis
The login page also displays an error 404:
The below error message can be seen in the <bamboo-install>/logs/localhost.YYYY-XX-XX.log
...
09-Jul-2024 07:19:14.002 SEVERE [main] org.apache.catalina.core.StandardContext.listenerStart Error configuring application listener of class [com.atlassian.bamboo.setup.BootstrapLoa
derListener]
java.lang.UnsupportedClassVersionError: com/atlassian/bamboo/setup/BootstrapLoaderListener has been compiled by a more recent version of the Java Runtime (class file version
55.0), this version of the Java Runtime only recognizes class file versions up to 52.0 (unable to load class [com.atlassian.bamboo.setup.BootstrapLoaderListener])
...
The below error message can be seen in the <bamboo-install>/logs/catalina.out
file.
09-Jul-2024 07:19:14.008 SEVERE [main] org.apache.catalina.core.StandardContext.startInternal One or more listeners failed to start. Full details will be found in the appropriate container log file.
09-Jul-2024 07:19:14.010 SEVERE [main] org.apache.catalina.core.StandardContext.startInternal Context [] startup failed due to previous errors.
The error message may also be presented on Bamboo Agents that had been recently upgraded but are still running an earlier (and unsupported) Java version.
Cause
As seen in the localhost logs, the Java Runtime can only load class file versions up to 52.0. The upgrade was being carried out to Bamboo 9.6.3 which was using Java class version of 55.0.
In this case, the Java class has been compiled with a higher version of Java and this upgrade was carried out using a lower version of Java, likely Java 8.
Class File Major Versions can be seen below:
Java version | Corresponding major versions | Supported major versions |
---|---|---|
8 | 52 | 45 .. 52 |
11 | 55 | 45 .. 55 |
17 | 61 | 45 .. 61 |
21 | 65 | 45 .. 65 |
Solution
Install a compatible Java version. Check the supported platforms matrix for version details.