13

当我运行 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。谷歌似乎没有向我提供任何有类似问题的人。

谢谢,山姆

4

6 回答 6

11

看看下面的讨论,特别是最受欢迎的答案。

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

于 2013-05-22T07:25:03.797 回答
7

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

此外,根据文档,Jetty 9 需要 JVM 1.7。

更多链接:

于 2013-05-22T07:27:01.803 回答
3

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

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

于 2013-05-22T07:27:29.557 回答
2

java.lang.UnsupportedClassVersionError发生的原因是编译时 JDK 较高,运行时 JRE 较低。

所以将你的 JRE 升级到 JDK 的编译时版本。

于 2013-05-22T07:25:32.923 回答
0

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

于 2013-05-22T11:49:47.793 回答
0

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

所以下载正确的 Jetty 安装,在 Eclipse 中转到 Windows -> Preferences -> Servers -> Jetty -> Edit -> 浏览到新下载的安装目录。

于 2016-03-23T09:02:31.880 回答