无法运行jetty start.jar

时间:2013-05-22 07:18:13

标签: java jetty

当我运行start.jar时,我收到以下错误:

 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(Unknown Source)
    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$000(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)
 Could not find the main class: org.eclipse.jetty.start.Main. Program will exit.

根据Jetty文档(http://www.eclipse.org/jetty/documentation/current/quickstart-running-jetty.html),我需要做的就是下载zip,解压缩并运行start.jar。谷歌似乎没有向我提供任何有类似问题的人。

谢谢, 萨姆

6 个答案:

答案 0 :(得分:11)

请查看以下discussion,特别是最受欢迎的答案。

很快你就遇到了类版本不兼容的问题。当您尝试使用先前版本的JVM运行它时,您的jetty将使用java 7的编译器进行编译。解决方案是:前进到Java 7:升级JDK并配置eclipse以使用java 7并开始享受新功能。

答案 1 :(得分:7)

当您使用更高级别的JDK编译某些代码时,可能会发生这种情况,请尝试检查用于编译代码的JDK。

除了根据文档记录,Jetty 9还需要JVM 1.7。

更多链接:

答案 2 :(得分:3)

Jetty的最新版本需要JVM的1.7版本。更新您的JVM或使用旧版本的Jetty(不推荐)。

您可以在此处查看Jetty版本:http://www.eclipse.org/jetty/documentation/9.0.2.v20130417/what-jetty-version.html#d0e75

答案 3 :(得分:2)

发生

java.lang.UnsupportedClassVersionError是因为编译期间JDK较高,运行时期间JRE较低。

将JRE升级到JDK的编译时间版本。

答案 4 :(得分:0)

Java编译器是高级版本,而虚拟机则不是。通过升级JVM或降级编译器(JDK)使其统一。我推荐第二种选择。好运!!!!

答案 5 :(得分:0)

如果您正在配置Jetty 8.1服务器,但Jetty安装目录高于此值,例如9.1,也会发生这种情况。

所以下载正确的Jetty安装,在Eclipse中转到Windows - >偏好 - >服务器 - >码头 - >编辑 - >浏览到新下载的安装目录。