Make sure there NO other jdom.jar in your classpath
I have the *exact* same error, also on JBoss 4.0.2. Even if I remove the jdom.jar from my exploded WAR, it appears that JDom is getting loaded from somewhere else (other JDom classes are executed on the call stack), but this particular class fails:
org.jdom.JDOMException: java.lang.NoClassDefFoundError: org/jdom/Text: org/jdom/Text
There are no other copies of jdom.jar floating around, but these incompatible classes are getting laoded from somewhere!
Try setting the -verbose:class JVM command line option. The resulting output should give you some indication of where JDOM is being loaded from.
I got it to work:
JBoss has a copy of jaxen.jar in the jboss\lib directory. By removing that and including my own version of of jaxen in my app, everything works fine.