一尘不染

java.lang.UnsupportedClassVersionError:不支持的major.minor版本51.0(无法加载类frontend.listener.StartupListener)

tomcat

我有eclipse 和tomcat 7.0.29。而且仍然无法加载Serlvets!除了1.7版本,我没有其他JDK或JRE!

  • 相容等级1.7
  • JAVA_HOME指向JDK 1.7
  • JAVA_JRE指向JRE 1.7
  • 构建路径包含JDK 1.7
  • Java Facet 1.7

..但仍不支持major.minor 51.0版


阅读 272

收藏
2020-06-16

共1个答案

一尘不染

当您这样做时,您的输出是什么java -version?这将告诉您正在运行的JVM的版本。

不支持的major.minor 51.0版错误可能意味着:

  • 您的服务器运行的Java版本低于用于编译Servlet的Java版本,反之亦然

无论哪种方式,都请卸载所有JVM运行时,包括JDK,然后下载最新版本并重新安装。这应该可以解决任何Unsupported major.minor错误,因为您将拥有最新的JRE和JDK(也许比用于编译Servlet的版本还要新)

请参阅:http :
//www.java.com/en/download/manual.jsp(7更新25)

此处:http
:
//www.oracle.com/technetwork/java/javase/downloads/index.html(Java平台(JDK)7u25)

分别用于最新版本的JRE和JDK。

编辑:

您的代码很可能是用Java7编写的,但是可能是使用Java7update4完成的,并且系统正在运行Java7update3。因此,它们实际上是相同的主版本,但次版本有所不同。仅较大的次要版本与较低的次要版本向后兼容。

编辑2:如果您的PC上安装了多个jdk。您应该检查Apache
Tomcat是否正在使用与您的程序进行编译的同一个(jre)。如果在安装apache之后安装了新的jdk,则通常不会选择新版本。

2020-06-16