org.eclipse.persistence.internal.helper.DatabaseTable local class incompatible





java.io.InvalidClassException: org.eclipse.persistence.internal.helper.DatabaseTable; local class incompatible: when publishing a BPM project to MDS (文档 ID 1561979.1)




修改时间:2013-6-14类型:PROBLEM






APPLIES TO:


Oracle Business Process Management Suite - Version 11.1.1.6.0 to 11.1.1.7.0 [Release 11gR1]
Information in this document applies to any platform.
SYMPTOMS


 When publishing a BPM project from Studio the following exception is thrown:
Caused by: java.rmi.UnmarshalException: Incoming message header or 
abbreviation processing failed ; nested exception is:


              java.io.InvalidClassException: 
org.eclipse.persistence.internal.helper.DatabaseTable; local class 
incompatible: stream classdesc serialVersionUID = 7408378167056177847, local 
class serialVersionUID = -8219935847209476671
 
CHANGES


The project has been edited in the BPM Composer  and in BPM Studio.
CAUSE


Although the problem couldn't be recreated by the development team on demand, from the exception is clear that the root cause of the problem is the differnce of the version of the org.eclipse.persistence jar distributed with Oracle JDeveloper and Oracle WLS.
The Oracle Jdeveloper 11.1.1.6 and 11.1.1.7 comes withorg.eclipse.persistence_1.1.0.0_2-1.jar and includes theorg.eclipse.persistence.internal.helper.DatabaseTable with static final long
serialVersionUID = -8219935847209476671L;
The Oracle WLS 11.1.1.6 comes with org.eclipse.persistence_1.2.0.0_2-3 and includesorg.eclipse.persistence.internal.helper.DatabaseTable with    static final long
serialVersionUID = 7408378167056177847L;
When and object of this class is class is serialized by the Composer, it uses the WLS supplied class.
When that object is deserialized by the Studio, the serialVersionUID  mismatches and the java.io.InvalidClassException: is thrown by the JVM.
SOLUTION


The solution is to ensure that both WLS and JDev use the same version of theorg.eclipse.persistence.internal.helper.DatabaseTable class.
Since the jar installed by the WLS is newer than the jar installed by the Jdeveloper it makes more sense to recplace replace the org.eclipse.persistence_1.1.0.0_2-1.jar  in Jdeveloper with the org.eclipse.persistence_1.2.0.0_2-3 from WLS.
- Shut down the Jdeveloper
- Move the org.eclipse.persistence_1.1.0.0_2-1.jar from {Jdeveloper Home}/modules to a backup location.
- Copy the org.eclipse.persistence_1.2.0.0_2-3.jar   from {WLS Home}/modules to {Jdeveloper Home}/modules.
- Start the Jdeveloper.
If after that steps you still see the same exception, please verify the serial version of the org.eclipse.persistence.jar located on both {Jdeveloper Home}/modules  and {WLS Home}/modules directories.Also check that there are no old versions of the jar ( org.eclipse.persistence_1.1.0.0_2-1.jar   ) in the Jdeveloper classpath
If some your project requires the specific version of theorg.eclipse.persistence_1.1.0.0_2-1.jar or the above operation cannot be performed on your installation by some other reason, please contact the JDeveloper support
REFERENCES




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值