Upgrading DS (All versions) fails with UnsupportedClassVersion error
The purpose of this article is to provide assistance if the DS server fails to upgrade to a later version with "Exception in thread "main" java.lang.UnsupportedClassVersionError".
Symptoms
An error similar to the following is shown when the upgrade fails:
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/opends/server/tools/upgrade/UpgradeCli : Unsupported major.minor version 52.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:800) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) at java.net.URLClassLoader.access$100(URLClassLoader.java:71) at java.net.URLClassLoader$1.run(URLClassLoader.java:361) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:425) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:358) at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)The same error is shown in the Upgrade.log file.
Recent Changes
N/A
Causes
The version of DS you are upgrading to requires a different version of Java® than the one running on your server. The Java versions required are as follows:
- DS 7.2.x: Java 11 * or 17 **
- DS 7.0.x and 7.1.x: Java 11 *
- DS 6.5.x: Java 8 or 11 *
- DS 6: Java 8 or 9
* 11.0.6 or later
** 17.0.3 or later
See the release notes applicable to your version for further information, for example: DS 7.2 Java.
Solution
This issue can be resolved by installing the required version of Java and then enabling the server to use the newer version as detailed in How do I change DS (All versions) to use a different JDK version?
Once Java is successfully updated, you can then upgrade the DS server.
See Also
How do I ensure DS (All versions) uses the Java settings from java.properties file when starting?
Related Training
N/A
Related Issue Tracker IDs
N/A