2012-10-17 9 views
8

dom4j-1.6.1をダウンロードしてjavaのビルドパスに追加しました。私はまた、java.lang.NoClassDefFoundError: org/saxpath/SAXPathExceptionに精通していますが、私は例外を取得し続けています。Java dom4j org/jaxen/NamespaceContext例外

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); 
    } 
} 

私はそれを実行すると、私は次のスタックトレース

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 

にエラーの原因を任意の手掛かりを得る:?スニペット梱

答えて

17

例外:

java.lang.ClassNotFoundException: org.jaxen.NamespaceContext 

たぶん、あなたはJavaのビルドのパスにjaxen.jarを含めるのを忘れていました。 https://stackoverflow.com/a/24959790/445131

+2

pomなどのjaxen依存性スニペットへのリンクです:http://mvnrepository.com/artifact/jaxen/jaxen/1.1.1 – Jim

2

ソリューションを発見:ノードを介して、いくつかのXMLおよびループを解析するSAXReaderの使用について、より具体的な手順については

。私はダウンロードしてjaxenをjavaのビルドパスに含めなければなりませんでした。