0

我有一个奇怪的问题。我使用 gwt 的 webAppCreator 创建了普通的 Greetings 示例。这意味着我创建了一个名为 Test 的项目,之后我没有以任何方式对其进行修改。然后我用“ant war”创建了一个war文件并将其部署在我的本地tomcat 7上。服务器启动正常,Grettings页面加载正确。但是,当单击发送按钮时,我收到以下错误:

在此处输入图像描述

tomcat 日志中没有错误消息。但是在开发模式下,这些东西工作正常。我正在使用 gwt 2.5。知道什么可能导致这个问题吗?

编辑:也许这提供了一些进一步的见解: 在此处输入图像描述

我发现了一个堆栈跟踪:

java.lang.UnsupportedClassVersionError: com/server/GreetingServiceImpl : Unsupported major.minor version 51.0 (unable to load class com.server.GreetingServiceImpl)
org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2908)
org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1173)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1681)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:461)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
java.lang.Thread.run(Thread.java:680)

但是这是什么意思?

4

1 回答 1

0

好的,我发现了问题。

错误 UnsupportedClassVersionError 意味着我尝试使用较旧的运行时运行已编译的 java 文件,即我使用 java 7 编译了 servlet 并尝试使用 java 6 运行它们。

我通过像这样为我的 .bash_profiles 文件设置正确的 JAVA_HOME 路径来修复这个问题

export JAVA_HOME=/path/to/java_7/Home

就是这样,现在一切正常。无论如何感谢您的阅读。

于 2013-07-02T16:38:29.543 回答