0
我有一個簡單的EJB應用程序,我可以在本地WebLogic實例(v10.3.0.0)上進行部署和測試而不會出現任何問題。我需要將它部署在遠程WL服務器(v10.3.3.0)上,並從本地機器進行測試。部署是成功的,但是當我嘗試運行任何從JDeveloper中的客戶端,我得到這個錯誤:ValidationException類版本不匹配
<2010.06.02. 16:08:36 CEST> <Error> <RJVM> <BEA-000503> <Incoming message header or abbreviation processing failed
java.io.InvalidClassException: org.eclipse.persistence.exceptions.ValidationException; local class incompatible: stream classdesc serialVersionUID = 3793659634176227230, local class serialVersionUID = -7605463488982202416
java.io.InvalidClassException: org.eclipse.persistence.exceptions.ValidationException; local class incompatible: stream classdesc serialVersionUID = 3793659634176227230, local class serialVersionUID = -7605463488982202416
at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:562)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1583)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1316)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at weblogic.rjvm.ClassTableEntry.readExternal(ClassTableEntry.java:36)
at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1792)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1751)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
at weblogic.rjvm.InboundMsgAbbrev.readObject(InboundMsgAbbrev.java:65)
at weblogic.rjvm.InboundMsgAbbrev.read(InboundMsgAbbrev.java:37)
at weblogic.rjvm.MsgAbbrevJVMConnection.readMsgAbbrevs(MsgAbbrevJVMConnection.java:227)
at weblogic.rjvm.MsgAbbrevInputStream.init(MsgAbbrevInputStream.java:173)
at weblogic.rjvm.MsgAbbrevJVMConnection.dispatch(MsgAbbrevJVMConnection.java:439)
at weblogic.rjvm.t3.MuxableSocketT3.dispatch(MuxableSocketT3.java:322)
at weblogic.socket.AbstractMuxableSocket.dispatch(AbstractMuxableSocket.java:394)
at weblogic.socket.SocketMuxer.readReadySocketOnce(SocketMuxer.java:917)
at weblogic.socket.SocketMuxer.readReadySocket(SocketMuxer.java:849)
at weblogic.socket.JavaSocketMuxer.processSockets(JavaSocketMuxer.java:283)
at weblogic.socket.SocketReaderRequest.run(SocketReaderRequest.java:29)
at weblogic.work.ExecuteRequestAdapter.execute(ExecuteRequestAdapter.java:21)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:145)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:117)
任何人都可以解釋爲什麼我得到這個錯誤,而我能做些什麼來解決它?
不是我所知道的,雖然這是我第一次使用java EE。該應用程序僅包含一對實體/ DTO類,3個無狀態會話bean和每個bean的測試客戶端,全部打包在一個.jar文件中。唯一的導入是由JDev和java.util.List生成的導入。 – suszterpatt 2010-06-02 20:20:34
當您從JDeveloper運行客戶端時,您可能會有另一個'validationexception'的定義,然後您的應用程序將其發送到WebLogic。試着找到包含這個類的jar。您必須確保客戶端和服務器罐的版本相同。 – 2010-06-03 07:25:20