Ops Manager Fails to Start with error "UnsupportedClassVersionError: Java Runtime (61.0) does not support class file version (65.0)"
search cancel

Ops Manager Fails to Start with error "UnsupportedClassVersionError: Java Runtime (61.0) does not support class file version (65.0)"

book

Article ID: 427643

calendar_today

Updated On:

Products

Operations Manager VMware Tanzu Platform - Cloud Foundry

Issue/Introduction

After importing a new installation or upgrading Tanzu Ops Manager, the Ops Manager web interface fails to load. The tempest-web service (which runs UAA and the Ops Manager UI) does not start successfully.

When reviewing the logs located at /var/log/opsmanager/uaa.err, the following error trace is observed:

SEVERE [main] org.apache.catalina.core.StandardContext.listenerStart Error configuring application listener of class [org.cloudfoundry.identity.statsd.Log4jContextInitializer]
java.lang.UnsupportedClassVersionError: org/cloudfoundry/identity/statsd/Log4jContextInitializer has been compiled by a more recent version of the Java Runtime (class file version 65.0), this version of the Java Runtime only recognizes class file versions up to 61.0

Key symptoms:

The Ops Manager UI is inaccessible.

The uaa.err log explicitly mentions a conflict between class file version 65.0 and class file version 61.0.

Environment

VMware Tanzu Operations Manager 3.1.x

Cause

This error indicates a Java Version Mismatch between the compiled application code and the Java Runtime Environment (JRE) currently executing the service.

  • Class file version 65.0 corresponds to Java 21.

  • Class file version 61.0 corresponds to Java 17.

The Ops Manager application (specifically the UAA component) was compiled with Java 21 and requires a Java 21 runtime to execute. However, the Operating System or the tempest-web service is attempting to run the application using an older Java 17 runtime.

This usually occurs if:

  1. If someone manually set  older version of Java (Java 17) as the system default over operation-manager VM.

  2. The JAVA_HOME environment variable for the service is pointing to an old installation.

  3. The system alternatives link (/usr/bin/java) has not been updated to point to the new Java 21 binary.

Resolution

To resolve this issue, you must ensure that the tempest-web service is using the correct Java 21 runtime. Follow the steps below to verify and update the Java configuration.

1. Verify the Installed Java Version
First, confirm that the correct Java 21 binary exists on the VM.

sudo /home/tempest-web/uaa/jdk/bin/java -version
openjdk version "21.0.8" 2025-07-15 LTS
OpenJDK Runtime Environment (build 21.0.8+12-LTS)
OpenJDK 64-Bit Server VM (build 21.0.8+12-LTS, mixed mode, sharing)

Output should confirm: openjdk version "21.0.8" (or similar Java 21 version).

2. Update System Alternatives
Ensure the system default java command points to the correct JDK.

# Check current configuration
sudo update-alternatives --config java

If multiple versions are listed, select the number corresponding to the Java 21 path (e.g., /home/tempest-web/uaa/jdk/bin/java).

If the correct path is not listed, you may need to install it as an alternative (though usually, Ops Manager bundles its own JDK).

3. Remove Conflicting Java Versions (Optional)
If an OS-level package of Java 17 is interfering and not required by other processes, you can remove it to prevent confusion.

# List installed packages
sudo dpkg --list | grep -i java

# Remove old version if confirmed safe (Example)
sudo apt remove openjdk-17-jre-headless

4. Restart the Ops Manager Service
Once the Java version is confirmed, restart the web service to pick up the changes.

sudo service tempest-web restart

5. Verification
Monitor the logs to ensure the error is resolved and the application starts:

tail -f /var/log/opsmanager/uaa.err

You should see initialization messages without the UnsupportedClassVersionError exception.

Additional Information

Note:- It is recommended that customers do not execute manual Java-related activities or install additional Java packages on the Operations Manager VM. Modifications to the default Java environment on the appliance can lead to runtime conflicts with critical platform services like tempest-web.