MyEclipse配置tomcat报错 - java.lang.UnsupportedClassVersionError: org/apache/lucene/store/Directory : Unsupported major.minor version 51.0

时间:2023-03-08 17:38:35

1 开发Servlet程序时,MyEclipse配置好tomcat与JDK之后,启动时控制台报下列错误:

  MyEclipse配置tomcat报错 - java.lang.UnsupportedClassVersionError: org/apache/lucene/store/Directory : Unsupported major.minor version 51.0

1 java.lang.UnsupportedClassVersionError: org/apache/lucene/store/Directory : Unsupported major.minor version 51.0
2 at java.lang.ClassLoader.defineClass1(Native Method)
3 at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
4 at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
5 at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
6 at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
7 at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
8 at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
9 at java.security.AccessController.doPrivileged(Native Method)
10 at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
11 at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
12 at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
13 at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
14 Exception in thread "main"

  使用环境:MyEclipse 10.7 + tomcat 8.0.37 + MyEclipse自带的JDK1.6.0_13

  经查询得到的结果是tomcat 8.0配置的JDK与MyEclipse自带的不兼容

  2 重新配置MyEclipse项目的Build Path与tomat的JDK选项,使用自己安装的JDK 1.8.0_101

  还是报错,这次是测试的Servlet直接报错,编译都通不过。

  The type java.io.ObjectInputStream cannot be resolved. It is indirectly referenced from required .class files

  MyEclipse配置tomcat报错 - java.lang.UnsupportedClassVersionError: org/apache/lucene/store/Directory : Unsupported major.minor version 51.0

  经查询此错误应该是JDK版本太高,与MyEclipse步兼容引起的。

  3 解决方法

  重新安装1.7版本的JDK,MyEclipse Servlet项目与tomcat都配置成1.7的JDK,就没问题了。

  4 注意事项

注意MyEclipse,tomcat,JDK版本,差距不能太大。例如MyEclipse10.7自带的JDK版本是1.6,默认支持的tomcat是7.0,所以tomcat最好用7.0(最多只能用8.0),JDK最好用1.6(最多只能用1.7).