在Vaadin中为GWT小部件实现RPC

在Vaadin中为GWT小部件实现RPC,gwt,vaadin,vaadin7,Gwt,Vaadin,Vaadin7,我正在Vaadin内部实现一个RPC服务(用于GWT小部件)。但问题是,当我尝试使用我们在GWT中使用的常规方法来实现它时。这是通过扩展RemoteService实现的。它在部署war文件后给出一个错误。我正在使用Maven构建项目,并使用tomcat作为服务器。是否有解决此异常的方法 例外情况是 SEVERE: Servlet.service() for servlet untitled threw exception java.lang.ClassNotFoundException: com

我正在Vaadin内部实现一个RPC服务(用于GWT小部件)。但问题是,当我尝试使用我们在GWT中使用的常规方法来实现它时。这是通过扩展RemoteService实现的。它在部署war文件后给出一个错误。我正在使用Maven构建项目,并使用tomcat作为服务器。是否有解决此异常的方法

例外情况是

SEVERE: Servlet.service() for servlet untitled threw exception
java.lang.ClassNotFoundException: com.google.gwt.user.client.rpc.RemoteService
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1645)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1491)
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:455)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:367)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
    at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1141)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1612)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1491)
    at GXTWidgetTest.MyVaadinUI.init(MyVaadinUI.java:24)
    at com.vaadin.ui.UI.doInit(UI.java:639)
    at com.vaadin.server.communication.UIInitHandler.getBrowserDetailsUI(UIInitHandler.java:222)
    at com.vaadin.server.communication.UIInitHandler.synchronizedHandleRequest(UIInitHandler.java:74)
    at com.vaadin.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:41)
    at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1402)
    at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:305)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Thread.java:745)

看起来您正在使用或至少正在从Vaadin(即服务器端)类导入
com.google.gwt.user.client.rpc.RemoteService
。这是一个仅限客户端的接口,不应在服务器端使用。

看起来您正在使用或至少正在从Vaadin(即服务器端)类导入
com.google.gwt.user.client.rpc.RemoteService
。这是一个客户端界面,不应该在服务器端使用。你指的是什么样的信息。thnx回复:)@geert3,不,我正在将com.google.gwt.user.client.rpc.RemoteService导入cilent端接口。没错,这个接口通常也可以通过
gwt servlet.jar
在服务器端(对于纯gwt应用程序)使用。但是这个罐子不是普通Vaadin应用程序的一部分。您可以尝试将其与应用程序一起部署,但不确定这是否会破坏其他Vaadin功能。@geert3,很抱歉,我错误地在一个服务器端类中实现了该接口。谢谢你的帮助。通过删除该实现,我能够解决该异常。但是现在我无法从服务器端获取数据。谢谢你的帮助:)