NoClassDefFoundError usually indicates that there multiple versions of the same jar in the classpath.
When java cannot find a class in classpath, a ClassNotFoundException is thrown. But say there are versions od dom4j.jar in the classpath but one of them is missing a class called a.b.c. If the jar with the missing class is on the classpath before the other one, then java will find the jar when its classes are accessed and load the jar. But will run into NoClassDefFound error when the app tries to access a.b.c class.
Can you check if there are multiple dom4j jars in your classpath?