I'm using T4b5.
So, what I did was re-compile some Scarab classes. Those classes are located
in scarab/WEB-INF/classes. I have class reloading turned on and when
Catalina reloaded the classes, this got output to System.out.println() in my
terminal window...
What it *looks* like is that when the Session object attempts to be
re-serialized, that whatever is in scarab/WEB-INF/lib (ie: turbine.jar)
doesn't get added to the classpath before the re-serialization happens.
-jon
java.lang.NoClassDefFoundError: org/apache/turbine/util/security/RoleSet
at java.lang.Class.getMethods0(Native Method)
at java.lang.Class.getDeclaredMethods(Class.java:1039)
at
java.io.ObjectStreamClass.computeSerialVersionUID(ObjectStreamClass.j
ava:873)
at java.io.ObjectStreamClass.access$200(ObjectStreamClass.java:46)
at java.io.ObjectStreamClass$2.run(ObjectStreamClass.java:420)
at java.security.AccessController.doPrivileged(Native Method)
at java.io.ObjectStreamClass.init(ObjectStreamClass.java:401)
at
java.io.ObjectStreamClass.lookupInternal(ObjectStreamClass.java:112)
at
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:291)
at java.util.Hashtable.writeObject(Hashtable.java:757)
at java.lang.reflect.Method.invoke(Native Method)
at
java.io.ObjectOutputStream.invokeObjectWriter(ObjectOutputStream.java
:1878)
at
java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1210)
at
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:366)
at
java.io.ObjectOutputStream.outputClassFields(ObjectOutputStream.java:
1841)
at
java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java
:480)
at
java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1214)
at
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:366)
at
org.apache.catalina.session.StandardSession.writeObject(StandardSessi
on.java:1210)
at
org.apache.catalina.session.StandardSession.writeObjectData(StandardS
ession.java:707)
at
org.apache.catalina.session.StandardManager.unload(StandardManager.ja
va:502)
at
org.apache.catalina.session.StandardManager.stop(StandardManager.java
:648)
at
org.apache.catalina.core.StandardContext.reload(StandardContext.java:
2316)
at
org.apache.catalina.loader.ContextNotifier.run(StandardLoader.java:13
51)
at java.lang.Thread.run(Thread.java:496)
java.lang.StackOverflowError
<<no stack trace available>>