java.rmi.MarshalException: Failed to communicate

2019-08-27 16:02发布

问题:

I'm using jbossIDE Eclipse 1.6. when deploying my .ear app, I get a java.rmi.MarshalException.

what's surprising is that just a few min ago, everything was OK.

I feel like this jbossIDE Eclipse thing is really useless. it's crashing all the time.

    java.rmi.MarshalException: Failed to communicate.  Problem during
              marshalling/unmarshalling; nested exception is: 
java.io.InvalidClassException: com.afrikbrain.util.message.MessageInfo; local class 
    incompatible: stream classdesc serialVersionUID = 2285009932770474121, local class 
    serialVersionUID = -2900394430145132451

    at   
 org.jboss.remoting.transport.socket.SocketClientInvoker.handleException(SocketClientInvoker.java:122)
at 

 org.jboss.remoting.transport.socket.MicroSocketClientInvoker.transport(MicroSocketClientInvoker.java:644)
at 
 org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:122)

回答1:

The version of the class com.afrikbrain.util.message.MessageInfo that is deployed to your EJB server is different from the one in your client. That is why they have different serial IDs. Try removing and re-compiling everything so that you have exactly the same version of the class deployed on both the server and client.