dom4j NoClassDefFoundError

  • Thread starter michael.miceli88
  • Start date
M

michael.miceli88

I have simple application
Code:
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.Document;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
import java.io.FileWriter;
import java.io.IOException;

public class Foo {
    public Document createDocument() {
        Document document = DocumentHelper.createDocument();
        Element root = document.addElement( "root" );

        Element author1 = root.addElement( "author" )
            .addAttribute( "name", "James" )
            .addAttribute( "location", "UK" )
            .addText( "James Strachan" );

        Element author2 = root.addElement( "author" )
            .addAttribute( "name", "Bob" )
            .addAttribute( "location", "US" )
            .addText( "Bob McWhirter" );

        return document;
    }
   public static void main(String[] args){
     Foo ex = new Foo();
     try{
        FileWriter out = new FileWriter( "foo.xml" );
        Document document;
        document = ex.createDocument();
        document.write( out );
     }
     catch(IOException e){
        System.out.println("Unable to create file:" + e.getMessage());
     }
  }
}
and I also have
Code:
dom4j-1.6.1.jar
in the same directory
I compiled the app with
Code:
javac Foo.java -classpath
dom4j-1.6.1.jar
and got no errors, but when I run the code I
get this error
Code:
Exception in thread "main"
java.lang.NoClassDefFoundError: org/dom4j/DocumentHelper
        at Foo.createDocument(Foo.java:12)
        at Foo.main(Foo.java:32)
Caused by: java.lang.ClassNotFoundException: org.dom4j.DocumentHelper
	at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
	... 2 more
What am I doing wrong. If I unjar the dom4j-1.6.1.jar the
class labeled DocumentHelper is there.
Thanks,
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,013
Latest member
KatriceSwa

Latest Threads

Top