Local class incompatible
Jeg har lavet en klasse (TopFrame) som extend'er JFrame, for at give mulighed for at lave "allways on top" dialog boxe i en applet.For at få adgang til klassen kalder appletten en servlet som så returnerer et objekt af typen TopFrame.
Men når jeg i apletten forsøger at pakken objektet ud af responset fra servlettten får jeg følgende fejlmeddelelse:
java.io.InvalidClassException: javax.swing.JFrame; local class incompatible: stream classdesc serialVersionUID = 9196843821942654843, local class serialVersionUID = -3362141868504252139
at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:454)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1511)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1425)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1511)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1425)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1616)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1264)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:322)
at tm.DialogBox.getFrame(DialogBox.java:321)
at tm.DialogBox.askQuestion(DialogBox.java:65)
at tm.DialogBox.main(DialogBox.java:528)
Jeg får denne fejl uanset om jeg manuelt eller automatisk serialiserer TopFrame-objektet.
Jeg kører på en webserver (Apache), som er installeret på den maskine som både applet og servlet er compileret på.
Ved hjælp af serialver har jeg konstateret at 9196843821942654843 er JFrame's serialversionUID, hvad er den anden serialversionUID for en, og hvordan undgår jeg at få denne fejl ?
