Bamboo compatibility with Java 17

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

Summary

This article explains Java 17 compatibility with Bamboo

Environment

  • Bamboo 8.0 and later

  • Java 17

Diagnosis

According to the Bamboo Supported Platforms page, Java 17 is supported on Bamboo 9.4 and later versions.

Running Bamboo over an unsupported Java version may cause unexpected events such, but not limited to, the ones below:

Error when running an unsupported Java 17 on Bamboo 9.2

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 INFO | jvm 1 | 2022/07/04 12:13:32 | com.thoughtworks.xstream.converters.ConversionException: No converter available INFO | jvm 1 | 2022/07/04 12:13:32 | ---- Debugging information ---- INFO | jvm 1 | 2022/07/04 12:13:32 | message : No converter available INFO | jvm 1 | 2022/07/04 12:13:32 | type : java.util.concurrent.atomic.AtomicInteger INFO | jvm 1 | 2022/07/04 12:13:32 | converter : com.atlassian.bamboo.serialization.xstream.StrippingConverter INFO | jvm 1 | 2022/07/04 12:13:32 | message[1] : Could not initialize class net.sf.cglib.proxy.Enhancer INFO | jvm 1 | 2022/07/04 12:13:32 | converter[1] : com.thoughtworks.xstream.converters.reflection.ReflectionConverter INFO | jvm 1 | 2022/07/04 12:13:32 | message[2] : Unable to make field private static final long java.lang.Number.serialVersionUID accessible: module java.base does not "opens java.lang" to unnamed module @2f72d7e1 INFO | jvm 1 | 2022/07/04 12:13:32 | class : com.atlassian.bamboo.v2.build.CurrentBuildResultImpl INFO | jvm 1 | 2022/07/04 12:13:32 | required-type : com.atlassian.bamboo.v2.build.CurrentBuildResultImpl INFO | jvm 1 | 2022/07/04 12:13:32 | converter-type : com.thoughtworks.xstream.converters.reflection.ReflectionConverter INFO | jvm 1 | 2022/07/04 12:13:32 | path : /org.springframework.remoting.support.RemoteInvocationResult/value/context/parentBuildContext/currentBuildResult/parserError INFO | jvm 1 | 2022/07/04 12:13:32 | line number : 1260 INFO | jvm 1 | 2022/07/04 12:13:32 | class[1] : com.atlassian.bamboo.v2.build.BuildContextImpl INFO | jvm 1 | 2022/07/04 12:13:32 | required-type[1] : com.atlassian.bamboo.v2.build.BuildContextImpl INFO | jvm 1 | 2022/07/04 12:13:32 | converter-type[1] : com.atlassian.bamboo.serialization.xstream.BuildContextXStreamConverter INFO | jvm 1 | 2022/07/04 12:13:32 | class[2] : com.atlassian.bamboo.v2.build.queue.AgentQueueAccessor$QueueAccessResult INFO | jvm 1 | 2022/07/04 12:13:32 | required-type[2] : com.atlassian.bamboo.v2.build.queue.AgentQueueAccessor$QueueAccessResult INFO | jvm 1 | 2022/07/04 12:13:32 | class[3] : org.springframework.remoting.support.RemoteInvocationResult INFO | jvm 1 | 2022/07/04 12:13:32 | required-type[3] : org.springframework.remoting.support.RemoteInvocationResult INFO | jvm 1 | 2022/07/04 12:13:32 | version : not available

You may also see the following message when starting the Bamboo Server application with an unsupported Java version:

"java.lang.IllegalStateException: Unsupported Java version XX.Y.Z detected"

(Auto-migrated image: description temporarily unavailable)

Solution

Using Java 17 as an application running component

Bamboo versions from 9.4 onward are the only ones that can support Java 17. This applies to Server, Agent, and Elastic Images components. If you're using a Bamboo version earlier than 9.4, use Java 8 or 11, as stated on the Supported Platforms page (make sure to select your Bamboo version from the dropdown menu at the top left corner of the page).

If you wish to upgrade your Java version as a running component, check the instructions from the following KB article: How to upgrade the Java version used by Bamboo.

Using Java 17 as a capability/requirement

Although Bamboo requires specific Java versions for its running component, Bamboo can use any accessible JDK versions for its builds that are set as a capability. This includes Java 6, 7, 8, 11, 17, 18, 20, 21, from various distributors. To accomplish that, it may be necessary to:

  • Define a new JDK capability and assign them to your Jobs as Requirements

  • When using a Script Task, define an updated $JAVA_HOME environment variable pointing to the required location before starting "java"

  • Review your system $PATH environment variable, as it may be pointing to an unsupported Java path listed before the desired one. That usually happens when a system is patched, and a new version of Java is installed automatically.

Updated on April 15, 2025

Still need help?

The Atlassian Community is here for you.