Exception in thread “main“ java.lang.UnsupportedClassVersionError

Java MainDemo executes the main method and reports an error

Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: MainDemo 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 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) 

 analyze:

Check the compiled version:

javac -version

Check the running version:

java -version

 The problem is that the class file compiled with a lower version of jdk is then run on a higher version of the JVM.

That is, the compilation and running versions do not match.

solve:

Modify the environment variables so that their versions match

updated to:

 

 

 After the configuration is complete, restart cmd

 It shows that the two versions are the same, and the java xxxxmain method is passed.

Guess you like

Origin blog.csdn.net/LlanyW/article/details/130599044