3

机器有 JDK/JRE 8 但它仍然指向 JDK 1.6

我的机器上有 Java 8(JDK 和 JRE 8)。我有 Eclipse Mars 4.5.1 。我正在尝试创建一个简单的静态 Web 项目,并且在 HTTP 预览版(或 Apache Tomcat 上的动态 Web 项目)上运行该项目时,它给出了以下错误。(另请参阅随附的屏幕截图。)

线程“main”中的异常 java.lang.UnsupportedClassVersionError: org/eclipse/jetty/server/Handler : java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(ClassLoader) 不支持 major.minor 版本 51.0 .java:637) 在 java.lang.ClassLoader.defineClass(ClassLoader.java:621) 在 java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) 在 java.net.URLClassLoader.defineClass(URLClassLoader.java:283)在 java.net.URLClassLoader.access$000(URLClassLoader.java:58) 在 java.net.URLClassLoader$1.run(URLClassLoader.java:197) 在 java.security.AccessController.doPrivileged(Native Method) 在 java.net.URLClassLoader .findClass(URLClassLoader.java:190) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:306) 在 sun.misc.Launcher$AppClassLoader。loadClass(Launcher.java:301) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:247)

4

1 回答 1

1

问题是您使用 JDK1.8 编译代码(目标运行时为 1.8)。

但是,您的服务器配置为使用 JDK 1.6 运行(您可以在控制台窗口顶部看到它 [HTTP preview at...])

如果要使用 http 预览,请将工作区默认 JRE 更改为 JDK 1.8(我尝试过并没有看到指定运行时 JRE 的选项)。

如果要使用 tomcat,请在“新建服务器”向导的第一页上指定正确的 JRE。

于 2016-02-18T09:28:59.930 回答