Owen Gibson
Owen Gibson

Reputation: 11

How to update my Java Runtime Environment

I've recently created a .jar for a program I wrote using JDK 14.0.1 and I'm trying to run it, but I keep getting an error message saying that the .jar was compiled in file version 55, and my current Java Runtime environment "only recognizes class file versions up to 52.0"

I've tried updating Java through the control panel and I've updated the JAVA_HOME and system paths to 14.0.1, but even after restarting my computer, my java version and Java SE Runtime Environment versions are still on 1.8.

(Please ignore username, I made it up in middle school)

C:\Users\Dudenugget123>java -version
java version "1.8.0_251"
Java(TM) SE Runtime Environment (build 1.8.0_251-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.251-b08, mixed mode)

C:\Users\Dudenugget123>javac -version
javac 14.0.1

C:\Users\Dudenugget123\Desktop\BlueJ Programs\ThreeCombos>java -jar ThreeCombos.jar
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: ThreeCombos 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
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$100(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)

Upvotes: 0

Views: 6602

Answers (1)

user7655213
user7655213

Reputation:

Check your %PATH% environment variable, it probably contains the path to your old JRE. Remove that, and insert the path to your new JRE.

%PATH% defines where your operating system looks when you try to start a program without specifying the full path. %JAVA_HOME% is used by a bunch of Java-specific tools like ant, but it has no meaning to your operating system or your command prompt.

Upvotes: 1

Related Questions