У меня есть простое приложение 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 сессионных компонентов без состояния и тестового клиента для каждого компонента, все они упакованы в один файл .jar. Единственный импорт - это файлы, созданные JDev и java.util.List. – suszterpatt
Когда вы запускаете своих клиентов из JDeveloper, у вас, вероятно, есть другое определение «validationexception», которое ваше приложение затем отправляет в WebLogic. Попробуйте найти банку, которая содержит этот класс. Вы должны убедиться, что банки клиента и сервера имеют одинаковую версию. –