是什么
Unsupported major.minor version 是高版本编辑的Java程序在低版本的Java环境运行抛出的错误。
即当前程序不支持在当前java环境运行。
版本对照
J2SE 8 = 52,
J2SE 7 = 51,
J2SE 6.0 = 50,
J2SE 5.0 = 49,
JDK 1.4 = 48,
JDK 1.3 = 47,
JDK 1.2 = 46,
JDK 1.1 = 45
更高的版本好,以后遇到补充。
解决方法
升级运行环境
用高版本重新编译
Eclipse Jetty Webapp
一个JDK1.6的项目,用Jetty运行,报错
____ ___ __ __ __ ___
/ __/___/ (_)__ ___ ___ __ / /__ / /_/ /___ __ / _ \
/ _// __/ / / _ \(_-</ -_) / // / -_) __/ __/ // / \_, /
/___/\__/_/_/ .__/___/\__/ \___/\__/\__/\__/\_, / /___/
/_/ /___/
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/eclipse/jetty/server/Server : Unsupported major.minor version 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at net.sourceforge.eclipsejetty.starter.jetty9.Jetty9LauncherMain.createAdapter(Jetty9LauncherMain.java:68)
at net.sourceforge.eclipsejetty.starter.common.AbstractJettyLauncherMain.launch(AbstractJettyLauncherMain.java:73)
at net.sourceforge.eclipsejetty.starter.jetty9.Jetty9LauncherMain.main(Jetty9LauncherMain.java:42)
Debug Configurations 查看,Options 选项页,发现使用内建 Jetty 9.3
去 Jetty 官网下载低版本的
https://www.eclipse.org/jetty/download.php
我选择 7.6.21.v20160908,成功运行。