Confluence Data Center 9.x does not start with Java 11
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
Symptoms
- Connecting to the Confluence port (8090 by default) will return a blank page (but will return a successful response, HTTP 200)
Using the browser's 'View page source' feature on the blank page will only show:
<!-- Dummy file to trigger action handling from a welcome file in Tomcat 6 -->
- Any attempt to retrieve the '
/status
' endpoint will result in a Tomcat generated HTTP 404 response. The
atlassian-confluence.log
will be blank and will not log any messages at all. Confluence 9.0.1, 9.0.2 and 9.0.3 will show the following 'Error configuring application listener of class' message in the Tomcat log (catalina.out
)29-Jul-2024 15:34:59.381 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8090"] 29-Jul-2024 15:34:59.406 INFO [main] org.apache.catalina.startup.Catalina.load Server initialization in [289] milliseconds 29-Jul-2024 15:34:59.411 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Tomcat-Standalone] 29-Jul-2024 15:34:59.411 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet engine: [Apache Tomcat/9.0.91] 29-Jul-2024 15:35:00.110 INFO [Catalina-utility-2] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time. 29-Jul-2024 15:35:00.112 INFO [Catalina-utility-2] org.apache.catalina.core.ApplicationContext.log No Spring WebApplicationInitializer types detected on classpath 29-Jul-2024 15:35:00.255 SEVERE [Catalina-utility-2] org.apache.catalina.core.StandardContext.listenerStart Error configuring application listener of class [com.atlassian.synchrony.proxy.web.InitialServletContextListener] java.lang.UnsupportedClassVersionError: com/atlassian/synchrony/proxy/web/InitialServletContextListener has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0 (unable to load class [com.atlassian.synchrony.proxy.web.InitialServletContextListener]) at org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2291) at org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:797) at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1272) at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1120) at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:488) at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:470) at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:142) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3934) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4448) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:164) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1203) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1193) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) at java.base/java.lang.Thread.run(Thread.java:834) 29-Jul-2024 15:35:00.255 SEVERE [Catalina-utility-2] org.apache.catalina.core.StandardContext.listenerStart Skipped installing application listeners due to previous error(s) 29-Jul-2024 15:35:00.256 SEVERE [Catalina-utility-2] org.apache.catalina.core.StandardContext.startInternal One or more listeners failed to start. Full details will be found in the appropriate container log file 29-Jul-2024 15:35:00.265 SEVERE [Catalina-utility-2] org.apache.catalina.core.StandardContext.startInternal Context [/synchrony-proxy] startup failed due to previous errors 29-Jul-2024 15:35:00.289 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8090"] 29-Jul-2024 15:35:00.293 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in [886] milliseconds
If Confluence 9.1 (and later) is started with an unsupported version of Java (ie. Java 11), the above message will not be written to catalina.out
, but instead the startup will immediately report the issue with the version of Java:
$ ./start-confluence.sh
To run Confluence in the foreground, start the server with start-confluence.sh -fg
executing as current user
If you encounter issues starting up Confluence, please see the Installation guide at http://confluence.atlassian.com/display/DOC/Confluence+Installation+Guide
Server startup logs are located in /opt/atlassian-confluence-9.1.0/logs/catalina.out
****************************************************************************
******* Wrong JVM version detected! *******
****************************************************************************
***
*** Found Java version 11 but expected at least 17
***
*** If you want Confluence to start using this JVM
*** set environment variable 'ignore_jvm_version' to 'true'
***
****************************************************************************
$
Cause
As previously mentioned in our End of support announcements, Java 11 is no longer supported with Confluence 9.x.
Confluence 9.x won't start if you use Java 11. Please refer to Preparing for Confluence 9.0 for more information.
Solution
Confluence 9.x will support Java 17 and 21.
To fix this problem, edit your startup configuration to use a bundled JRE or any tested JDK version (Java 17 or 21).
If you have any issues or questions, please contact Atlassian support.