2012-10-17 10 views
8

Tôi đã tải xuống dom4j-1.6.1 và thêm nó vào đường dẫn xây dựng của java. Tôi cũng quen thuộc với java.lang.NoClassDefFoundError: org/saxpath/SAXPathException nhưng tôi vẫn nhận được một ngoại lệ.Java dom4j org/jaxen/NamespaceTiếp theo ngoại lệ

Kèm theo một đoạn:

public class Parser { 
    public static void parse(final String path) throws Exception { 
     final SAXReader reader = new SAXReader(); 
     final Document document = reader.read(new File(path).toURI().toURL()); 
     if (document == null) return; 
     List list = document.selectNodes("/"); 
     for (Object o : list) 
      System.out.println(o); 
    } 
} 

Khi tôi chạy nó, tôi nhận được stack trace sau

Exception in thread "main" java.lang.NoClassDefFoundError: org/jaxen/NamespaceContext 
    at org.dom4j.DocumentFactory.createXPath(DocumentFactory.java:230) 
    at org.dom4j.tree.AbstractNode.createXPath(AbstractNode.java:207) 
    at org.dom4j.tree.AbstractNode.selectNodes(AbstractNode.java:164) 
    at Parser.parse(Parser.java:15) 
    at Main.main(Main.java:6) 
Caused by: java.lang.ClassNotFoundException: org.jaxen.NamespaceContext 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356) 
    ... 5 more 

Bất kỳ manh mối gì gây ra lỗi?

Trả lời

17

Các Ngoại lệ:

java.lang.ClassNotFoundException: org.jaxen.NamespaceContext 

Có lẽ bạn quên bao gồm các jaxen.jar trong con đường xây dựng Java của bạn.

Để được hướng dẫn cụ thể hơn về việc sử dụng SAXReader để phân tích một số XML và vòng lặp thông qua các nút: https://stackoverflow.com/a/24959790/445131

+2

Đây là một liên kết đến jaxen phụ thuộc snipets cho pom của bạn, vv: http://mvnrepository.com/artifact/jaxen/jaxen/1.1.1 – Jim

2

Phát hiện ra các giải pháp. Tôi đã tải xuống và bao gồm jaxen trong đường dẫn xây dựng của java.