Is there a way to determine the generated serialVersionUID of a serialized Java object?
The problem is that I serialized an object without explicitely specifying the serialVersionUID. Now the deserialization process complains about class incompatibilities. However I didn’t change the class in a way which would make it incompatible. So I assume that it is enough to specify the serialVersionUID in the class as it is stored in the object data. In order to do this I need to read the serialVersionUID from the serialized data.
You can do this by extending ObjectInputStream:
I believe it would be possible to read all the serialized data by replacing the descriptor returned by the method, but I haven’t tried it.