java.io.InvalidClassException:local class incompatible?
843785Oct 25 2008 — edited Oct 27 2008hello everyone:
I deploy a J2EE application called A in a weblogic domain called A, it can run correctly;
then I deploy another J2EE application called B, which is a new edition of A, in another weblogic domain called B, it can also run correctly;
The two domains use the same server. I don't know whether this will cause problems like this.
But the previous A can't run correctly and throw exceptions as follows in Java Console:
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
java.io.InvalidClassException: com.longzhou.oa.docnet.dto.abstractdto.DnBaseRole; local class incompatible: stream classdesc serialVersionUID = 1264764439065723117, local class serialVersionUID = -6834466395328850197
at java.io.ObjectStreamClass.initNonProxy(Unknown Source)
at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
at java.io.ObjectInputStream.readClassDesc(Unknown Source)
at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
at java.io.ObjectInputStream.readClassDesc(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readArray(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
at java.io.ObjectInputStream.readSerialData(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at com.longzhou.oa.applet.util.EjbLocator.getInputStream(EjbLocator.java:18)
at com.longzhou.oa.applet.DnIO.getDnAllByID(DnIO.java:63)
at com.longzhou.oa.applet.DnIO.loadGraph(DnIO.java:33)
at org.enhydra.jawe.DnDefine.loadDn(Unknown Source:185)
at org.enhydra.jawe.AbstractEditor.<init>(Unknown Source:130)
at org.enhydra.jawe.PackageEditor.<init>(PackageEditor.java:60)
at org.enhydra.jawe.JaWE.init(JaWE.java:195)
at org.enhydra.jawe.DnApplet.jbInit(DnApplet.java:67)
at org.enhydra.jawe.DnApplet.init(DnApplet.java:54)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
java.lang.NullPointerException
at com.longzhou.oa.applet.DnIO.getDnFromDto(DnIO.java:731)
at com.longzhou.oa.applet.DnIO.loadGraph(DnIO.java:34)
at org.enhydra.jawe.DnDefine.loadDn(Unknown Source:185)
at org.enhydra.jawe.AbstractEditor.<init>(Unknown Source:130)
at org.enhydra.jawe.PackageEditor.<init>(PackageEditor.java:60)
at org.enhydra.jawe.JaWE.init(JaWE.java:195)
at org.enhydra.jawe.DnApplet.jbInit(DnApplet.java:67)
at org.enhydra.jawe.DnApplet.init(DnApplet.java:54)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: java.lang.Object
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at com.longzhou.oa.applet.util.EjbLocator.getInputStream(EjbLocator.java:18)
at com.longzhou.oa.applet.InitModel.initEmpGroupList(InitModel.java:353)
at org.enhydra.jawe.DnDefine._$1(Unknown Source:241)
at org.enhydra.jawe.DnDefine.loadDn(Unknown Source:186)
at org.enhydra.jawe.AbstractEditor.<init>(Unknown Source:130)
at org.enhydra.jawe.PackageEditor.<init>(PackageEditor.java:60)
at org.enhydra.jawe.JaWE.init(JaWE.java:195)
at org.enhydra.jawe.DnApplet.jbInit(DnApplet.java:67)
at org.enhydra.jawe.DnApplet.init(DnApplet.java:54)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.io.NotSerializableException: java.lang.Object
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.writeObject(Unknown Source)
at com.longzhou.oa.util.EgovServlet.service(EgovServlet.java:332)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1072)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:348)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6981)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3892)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2766)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
at java.lang.Thread.startThreadFromVM(Unknown Source)
java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: java.lang.Object
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at com.longzhou.oa.applet.util.EjbLocator.getInputStream(EjbLocator.java:18)
at com.longzhou.oa.applet.InitModel.initSysRoleList(InitModel.java:371)
at org.enhydra.jawe.DnDefine._$1(Unknown Source:242)
at org.enhydra.jawe.DnDefine.loadDn(Unknown Source:186)
at org.enhydra.jawe.AbstractEditor.<init>(Unknown Source:130)
at org.enhydra.jawe.PackageEditor.<init>(PackageEditor.java:60)
at org.enhydra.jawe.JaWE.init(JaWE.java:195)
at org.enhydra.jawe.DnApplet.jbInit(DnApplet.java:67)
at org.enhydra.jawe.DnApplet.init(DnApplet.java:54)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.io.NotSerializableException: java.lang.Object
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.writeObject(Unknown Source)
at com.longzhou.oa.util.EgovServlet.service(EgovServlet.java:332)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1072)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:348)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6981)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3892)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2766)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
at java.lang.Thread.startThreadFromVM(Unknown Source)
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
Can anyone tell me the reason? Thanks