local class incompatible: stream classdesc serialVersionUID = -4312319268131871162, local class serialVersionUID = -5312119737527277188

    By W.ZH  Aug 2014

Issue:

When we use some webservice , we get error like this :

java.io.InvalidClassException: com.abc.EmailInfo; local class incompatible: stream classdesc serialVersionUID = -4312319268131871162, local class serialVersionUID = -5312119737527277188

com.abc.EmailInfo is a java object is used in some code.

 

 

Reason:

com.abc.EmailInfo exist in fact in several jar files. each jaf file in fact contain a different version of the  EmailInfo  class, even class source code could lokks like same.

 

What we should do is:

1. find out all the jar files that contain this class file:  j1.jar and j2.jar such as.

2. use serialver to check the serialVersionUID of each class in each jar:

       C:\SVN\….WEB-INF\lib>serialver -classpath jar1.jar com.abc.EmailInfo

        com.abc.EmailInfo:    static final long serialVersionUID = -5312119737527277188L;

    

       C:\SVN\….WEB-INF\lib>serialver -classpath jar2.jar com.abc.EmailInfo

        com.abc.EmailInfo:    static final long serialVersionUID = -4312319268131871162L;

3. now you see the reason of the class with same name of diff version in fact will creat different serialVersionUID

4. so try to unzip one of jar file and then get class to update the other one, suppose the have same code for EmailInfo class, so they can exchange with each other.

5. use this command to update the class in one jar file:

C:\SVN\….WEB-INF\lib>jar uf jar1.jar com\abc\EmailInfo.class

Then you can try to see result.

Advertisements

Could not find an open hard disk with UUID in Virtual Box

W.ZH Mar 2013

Issue:  When try to start the image in virtual Box, I get error that first snapshost can not find the hard disk with a UUID.

 

Ways:

 

Check file of yourImage.vbox, it contains these for register the harddisk

 

    <MediaRegistry>

 

      <HardDisks>

 

        <HardDisk uuid=”{3d18f678-76a4-45ef-997f-a38991454c99}” location=”oel5u5-64bit-soabpm-11gr1-ps5-2-0-M-disk1.vmdk” format=”VMDK” type=”Normal”>

 

          <HardDisk uuid=”{96de2b68-d0ce-4770-bd39-c8688b5b3840}” location=”Snapshots/{96de2b68-d0ce-4770-bd39-c8688b5b3840}.vmdk” format=”VMDK”>

 

          </HardDisk>

 

        </HardDisk>

 

        <HardDisk uuid=”{cff08890-e105-45c5-892a-52bd600404de}” location=”oel5u5-64bit-soabpm-11gr1-ps5-2-0-M-disk2.vmdk” format=”VMDK” type=”Normal”>

 

          <HardDisk uuid=”{1131b2d9-b769-4116-b6e4-7e53e2c46bff}” location=”Snapshots/{1131b2d9-b769-4116-b6e4-7e53e2c46bff}.vmdk” format=”VMDK”>

 

            </HardDisk>

 

        </HardDisk>

 

      </HardDisks>

 

      <DVDImages/>

 

      <FloppyImages/>

 

</MediaRegistry>

 

 

 

Sometimes the VBox just lost or make wrong data at here. You need to manually fix it. And also yourImage.vbox-prev file is the latest backup of the vbox file, you can make a compare to see the diff of the latest successful config info. Then try to fix to the proper config. Remember to back up all files before you make any change.