异常信息

Exception in thread “main” java.lang.UnsupportedClassVersionError: org/eclipse/jetty/start/Main : Unsupported major.minor version 51.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)
Could not find the main class: org.eclipse.jetty.start.Main. Program will exit.

分析

Unsupported major.minor version通常是jdk版本不匹配导致的,确认方式如下:

 

通过java -version查看当前系统的jdk版本为:

java version “1.6.0_45”

Java(TM) SE Runtime Environment (build 1.6.0_45-b06)

Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)

 

解压缩jetty-distribution-9.2.0.v20140526的start.jar文件,其META-INF\MANIFEST.MF文件中可见编译时使用的JDK为1.7。

Manifest-Version: 1.0

Archiver-Version: Plexus Archiver

Created-By: Apache Maven

Built-By: jesse

Build-Jdk: 1.7.0_55

Main-Class: org.eclipse.jetty.start.Main

Implementation-Vendor: Eclipse.org – Jetty

Implementation-Version: 9.2.0.v20140526

url: http://www.eclipse.org/jetty

解决

重新安装jdk-7u60-windows-x64.exe,并进行相应的(JAVA_HOME环境变量)设置,执行java -jar start.jar成功。

2014-06-01 08:44:57.236:INFO::main: Logging initialized @921ms

2014-06-01 08:44:57.547:INFO:oejs.Server:main: jetty-9.2.0.v20140526

2014-06-01 08:44:57.570:INFO:oejdp.ScanningAppProvider:main: Deployment monitor [file:/D:/Test/jetty-distribution-9.2.0.v20140526/webapps/] at interval 1

2014-06-01 08:44:57.604:INFO:oejs.ServerConnector:main: Started ServerConnector@778d1cbd{HTTP/1.1}{0.0.0.0:8080}

2014-06-01 08:44:57.605:INFO:oejs.Server:main: Started @1305ms

如果是在eclipse中启动Jetty9,还需要修改相应的设置:

查看项目属性。

proj

库配置中删除JRE6,通过Add Library添加JRE7。

lib
add

添加Jre到Preferences。

pre
pre
preadd
preaddjre

完成上述设置后,启动即可。