Java RmiClient服务器错误

Java RmiClient服务器错误,java,rmi,Java,Rmi,我在下面得到了这个错误: RmiClient异常:java.rmi.ServerError:服务器中发生错误 线嵌套异常为:java.lang.AbstractMethodError 如果每次按下按钮,将与同一系统上的服务器通信,则会出现如下错误: RmiClient exception: java.rmi.ServerError: Error occurred in server thread; nest ed exception is: java.lang.AbstractM

我在下面得到了这个错误:

RmiClient异常:java.rmi.ServerError:服务器中发生错误 线嵌套异常为:java.lang.AbstractMethodError

如果每次按下按钮,将与同一系统上的服务器通信,则会出现如下错误:

RmiClient exception: java.rmi.ServerError: Error occurred in server thread; nest
ed exception is:
        java.lang.AbstractMethodError: ServerGUI.getMessage(Ljava/lang/String;J)
Ljava/lang/String;
java.rmi.ServerError: Error occurred in server thread; nested exception is:
        java.lang.AbstractMethodError: ServerGUI.getMessage(Ljava/lang/String;J)
Ljava/lang/String;
        at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)
        at sun.rmi.transport.Transport$1.run(Unknown Source)
        at sun.rmi.transport.Transport$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at sun.rmi.transport.Transport.serviceCall(Unknown Source)
        at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)
        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Sou
rce)
        at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Sour
ce)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
        at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(Unknow
n Source)
        at sun.rmi.transport.StreamRemoteCall.executeCall(Unknown Source)
        at sun.rmi.server.UnicastRef.invoke(Unknown Source)
        at ServerGUI_Stub.getMessage(Unknown Source)
        at RmiClient.getMessage(RmiClient.java:13)
        at ButtonController.actionPerformed(ButtonController.java:15)
        at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
        at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
        at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
        at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Sour
ce)
        at java.awt.Component.processMouseEvent(Unknown Source)
        at javax.swing.JComponent.processMouseEvent(Unknown Source)
        at java.awt.Component.processEvent(Unknown Source)
        at java.awt.Container.processEvent(Unknown Source)
        at java.awt.Component.dispatchEventImpl(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Window.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
        at java.awt.EventQueue.access$200(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Sour
ce)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Sour
ce)
        at java.awt.EventQueue$4.run(Unknown Source)
        at java.awt.EventQueue$4.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Sour
ce)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)

仅仅通过查看堆栈跟踪就很难判断。但请确保使用Thread扩展服务器类,并在客户端类中实现以下内容

EventQueue.invokeLater(new Runnable(){
   public void run(){
    //////// do something with the client window frame
   }
});

您在没有重新编译或重新部署的情况下更改了某些内容。可能是远程方法的签名。进行干净的构建和重新部署。

这方面很难提供帮助,因为您没有包含任何代码,甚至没有对您尝试执行的操作进行任何描述。我可以告诉您,调用的方法没有实现(抽象),但这是我在没有更多信息的情况下所能得到的。而且,看起来您发布了相同的巨大堆栈跟踪twice@Floegipoky一个抽象方法的错误没有什么神秘之处。请参阅Javadoc。感谢您的回答,但我需要一些代码实现或一些网站,从那里我可以获得一些示例。由于我是RMI的新手,我想了解更多。你试过使用谷歌吗?你知道,你可以在谷歌上输入两个单词,比如“rmi示例”。这些都是无关紧要的。