Webapp和tomcat之间的Java版本不匹配

时间:2018-07-21 23:10:41

标签: java eclipse tomcat

我已经在Tomcat 8中部署了用Eclipse开发的Web应用程序。该Web应用程序包含一个电子邮件实用程序,用户可以通过该实用程序提交从网络服务器通过电子邮件发送给我的联系信息。

当我从Eclipse中运行Web应用程序(使用本地主机上的Tomcat实例)时,它起作用。

我已将Web应用程序部署到服务器,并且在我尝试发送连续信息之前,它似乎可以正常工作。

当我单击调用servlet的表单中的Submit按钮时,出现此异常:

 java.lang.UnsupportedClassVersionError: com/electraink/rental/servlets/ContactInfo has been compiled by a more recent version of the Java Runtime (class file version 53.0), this version of the Java Runtime only recognizes class file versions up to 52.0 (unable to load class com.electraink.rental.servlets.ContactInfo)
org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2500)
org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:860)
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1302)
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1167)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
org.apache.coyote.ajp.AbstractAjpProcessor.process(AbstractAjpProcessor.java:844)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:673)
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1500)
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1456)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
java.lang.Thread.run(Thread.java:745)

我不知道不匹配在哪里。运行Tomcat8实例的服务器显示此版本的Java:

[root@web1 downloads]# java -version
java version "1.8.0_66"
Java(TM) SE Runtime Environment (build 1.8.0_66-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.66-b17, mixed mode)

Eclipse项目使用jdk-1.8.0_45.

在我看来,Tomcat正在使用比构建Web应用程序的JVM更新的,而不是旧的JVM。

不匹配在哪里?我需要更新哪个Java,以及更新到什么? (我最初在Eclipse中构建Web应用程序时使用Java 9,直到看到此错误,然后我才降级为Java 8。)

谢谢,杰里

0 个答案:

没有答案