java - 调度传入 RPC 调用时出现异常 java.lang.NoSuchMethodError : com. google.gwt.user.server.rpc.RPCRequest

标签 java mysql hibernate gwt rpc

我已经有了带有 Hibernate 和 MySQL 设置的 GWT 页面。我在 SuperDev 模式下运行它,这是编译页面后出现的错误:

 [WARN] Exception while dispatching incoming RPC call
java.lang.NoSuchMethodError: com.google.gwt.user.server.rpc.RPCRequest.<init>(Ljava/lang/reflect/Method;[Ljava/lang/Object;Lcom/google/gwt/user/server/rpc/SerializationPolicy;)V
    at com.google.gwt.user.server.rpc.RPCCopy_GWT15.decodeRequest(RPCCopy_GWT15.java:278)
    at com.google.gwt.user.server.rpc.RPCCopy.decodeRequest(RPCCopy.java:136)
    at net.sf.gilead.gwt.PersistentRemoteService.processCall(PersistentRemoteService.java:143)
    at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:305)
    at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:755)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:501)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
    at org.eclipse.jetty.server.handler.RequestLogHandler.handle(RequestLogHandler.java:68)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
    at org.eclipse.jetty.server.Server.handle(Server.java:370)
    at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
    at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:960)
    at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1021)
    at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)
    at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
    at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668)
    at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
    at java.lang.Thread.run(Unknown Source)
[ERROR] 500 - POST /atlas_emergency_status_page/DBService (127.0.0.1) 57 bytes
   Request headers
      Host: 127.0.0.1:8888
      Connection: keep-alive
      Content-Length: 162
      X-GWT-Module-Base: http://127.0.0.1:8888/atlas_emergency_status_page/
      X-GWT-Permutation: BE75887428AD071A73976B7011B26FBF
      Origin: http://127.0.0.1:8888
      User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36
      Content-Type: text/x-gwt-rpc; charset=UTF-8
      Accept: */*
      Referer: http://127.0.0.1:8888/ATLAS_Emergency_Status_Page.html
      Accept-Encoding: gzip, deflate
      Accept-Language: en-US,en;q=0.8,fr-CH;q=0.6,fr;q=0.4,ka;q=0.2,ru;q=0.2
   Response headers
      Content-Type: text/plain

可能是什么原因造成的?

编辑:

这是我的web.xml:

<?xml version="1.0" encoding="utf-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
         http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">

  <!-- Servlets -->
  <servlet>
    <servlet-name>greetServlet</servlet-name>
    <servlet-class>ch.cern.atlas.emergency.status.server.GreetingServiceImpl</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>greetServlet</servlet-name>
    <url-pattern>/atlas_emergency_status_page/greet</url-pattern>
  </servlet-mapping>

  <!-- Default page to serve -->
  <welcome-file-list>
    <welcome-file>ATLAS_Emergency_Status_Page.html</welcome-file>
  </welcome-file-list>

  <!-- Servlets -->
  <servlet>
    <servlet-name>LoginService</servlet-name>
    <servlet-class>ch.cern.atlas.emergency.status.server.LoginServiceImpl</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>LoginService</servlet-name>
    <url-pattern>/atlas_emergency_status_page/LoginService</url-pattern>
  </servlet-mapping>

  <servlet>
    <servlet-name>DBService</servlet-name>
    <servlet-class>ch.cern.atlas.emergency.status.server.DBServiceImpl</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>DBService</servlet-name>
    <url-pattern>/atlas_emergency_status_page/DBService</url-pattern>
  </servlet-mapping>

</web-app>

最佳答案

它与您的 gwt 版本和您正在使用的库有冲突。在堆栈跟踪中,您使用的是“gilead”和旧版本的“hibernate4gwt”。该版本需要GWT1.5。

您应该升级这些库以与您拥有的 gwt 版本兼容

关于java - 调度传入 RPC 调用时出现异常 java.lang.NoSuchMethodError : com. google.gwt.user.server.rpc.RPCRequest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34950007/

相关文章:

java - 如何使用 Java 中的循环在 3D 数组中添加元素?

java - Android @Override 用法

java - 使用 DOM 通过 <break> 从 xml 获取元素文本内容

MySQL Where IN,限制输出

java - 表作为枚举。是否可以?

java - 当引用的非外键列为 null 时,Hibernate 将一对多集初始化为 null

java - 私有(private)静态变量错误

mysql - SQL : Cartesian product + Join + Flatten

php - 使用 CodeIgniter 查询生成器在连接查询上应用不同

java - 插入时HIbernate语法sql错误