Exception in thread "main" java.lang.UnsupportedClassVersionError: tech/dashen/hello/HelloApplication 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(ClassLoader.java:763) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:468) at java.net.URLClassLoader.access$100(URLClassLoader.java:74) at java.net.URLClassLoader$1.run(URLClassLoader.java:369) at java.net.URLClassLoader$1.run(URLClassLoader.java:363) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:362) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:151) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:348) at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:46) at org.springframework.boot.loader.Launcher.launch(Launcher.java:108) at org.springframework.boot.loader.Launcher.launch(Launcher.java:58) at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:88)
这是由于编译环境与运行环境不一致导致:
本机执行 java -version
1 2 3
openjdk version "17.0.2"2022-01-18 OpenJDK Runtime Environment(build 17.0.2+8-86) OpenJDK 64-Bit Server VM(build 17.0.2+8-86, mixed mode, sharing)
服务器上执行 java -version
1 2 3
java version "1.8.0_211" Java(TM) SE Runtime Environment(build 1.8.0_211-b12) Java HotSpot(TM) 64-Bit Server VM(build 25.211-b12, mixed mode)