I am having problems with serialization in my program. Files that my program
writes on one computer don't read on certain other computers because the
following Exception is thrown:
java.io.InvalidClassException: graph.ViewNode$MySaveInfo; Local class not
compatible: stream classdesc serialVersionUID=-3515051859515377432 local
class serialVersionUID=7675627145717075
So, I have begun to experiment with the issue and discovered that the
serialver tool generates an exception for the following class:
class A implements java.io.Serializable{
javax.vecmath.Point3d p;
}
D:\Orbiter>serialver A
Exception in thread "main" java.lang.LinkageError: duplicate class
definition: javax/vecmath/Point3d
But not for the following class:
class B implements java.io.Serializable{
javax.vecmath.Vector3d p;
}
D:\Orbiter>serialver B
B: static final long serialVersionUID = 7506157961854562889L;
This looks like a bug with Java3D to me. Is this a known bug?
Raffi
Here is the full stack trace of the Exception:
Exception in thread "main" java.lang.LinkageError: duplicate class
definition: javax/vecmath/Point3d
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:502)
at
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:250)
at java.net.URLClassLoader.access$100(URLClassLoader.java:54)
at java.net.URLClassLoader$1.run(URLClassLoader.java:193)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:186)
at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
at java.lang.ClassLoader.loadClass(ClassLoader.java:292)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:265)
at java.lang.ClassLoader.loadClass(ClassLoader.java:292)
at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315)
at java.lang.Class.getDeclaredFields0(Native Method)
at java.lang.Class.privateGetDeclaredFields(Class.java:1494)
at java.lang.Class.getField0(Class.java:1727)
at java.lang.Class.getDeclaredField(Class.java:1189)
at
java.io.ObjectStreamClass.getDeclaredSUID(ObjectStreamClass.java:1430)
at java.io.ObjectStreamClass.access$400(ObjectStreamClass.java:45)
at java.io.ObjectStreamClass$3.run(ObjectStreamClass.java:331)
at java.security.AccessController.doPrivileged(Native Method)
at java.io.ObjectStreamClass.<init>(ObjectStreamClass.java:329)
at java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:249)
at java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:142)
at sun.tools.serialver.SerialVer.resolveClass(SerialVer.java:190)
at sun.tools.serialver.SerialVer.serialSyntax(SerialVer.java:161)
at sun.tools.serialver.SerialVer.main(SerialVer.java:270)
===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA3D-INTEREST". For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".