Community
Participate
Working Groups
It appears that the internal compiler for Eclipse generates an incorrect SerialUID which then causes incompatibilties going across the wire via RMI. This is discussed in length on the toolkit newsboard.
The compiler doesn't compute the serial UID. Serialization layer is doing it. Now if you are trying to match classfiles generated by the Eclipse Java compiler with some generated by a different tool, then you are going to see differences, since many of the compiler internal behaviors aren't specified, and may actually be different. Two different compilers, including two different versions of the same compiler, may expose such differences. This results from a poor specification of compiler internal mechanism in the JLS, e.g. innerclass emulation, which results in non standard behavior or consensus. Closing, please reopen if you have more material for debating.
Forgot to assign
Closing
The purpose of the SerialUID is to allow a class to be transmited "over the wire" or written to disk. the SerialUID is supposed to be platform and compiler inspecific and cross platform. Every other compiler that I have used allows you to transmit a serialized class file across the wire to another machine that has compiled the same class from the same source. Currently the server that I am working on is compiled via jikes while the client is compiled via Sun's javac. Jikes is utilized on a linux platform while the sun compiler is on a windows platform. We are able to transmit files flawlessly across the wire that have been compiled via two different compilers. The ONLY compiler that does not allow this, to date, is the one built into eclipse. This represents a fundamental flaw in the way that Eclipse generates class files.
The behavior you mention is unspecified, until the spec clarifies this area, we have no plan to change our current behavior. Now I'd be interested by the complete list of compiler tools you have been using when claiming they "ALL" match. Also a testcase would be worth. Closing, will reconsider once the spec changes (if it does).
Should have closed as duplicate
*** This bug has been marked as a duplicate of 10104 ***