From jdom at tuis.net Mon Jul 16 03:36:04 2012 From: jdom at tuis.net (Rolf Lear) Date: Mon, 16 Jul 2012 06:36:04 -0400 Subject: [jdom-interest] java.lang.NoClassDefFoundError: org/jaxen/NamespaceContext In-Reply-To: References: Message-ID: <5003EE94.5050703@tuis.net> Hi El?as The most likely cause of this is because you do not have the Jaxen jar in your classpath. You need the Jaxen 1.1.3 (in the JDOM Download zip) or Jaxen 1.1.4 jar (from the jaxen website). Check your eclipse build path to make sure you have jaxen in it. Rolf On 16/07/2012 3:30 AM, El?as Manch?n L?pez wrote: > Hello Folks, > > I'm using jdom2 in my eclipse project. I want to search with xpath in > my xml file two nodes and I'm using the next code: > > XPathFactory factory = XPathFactory.instance(); > XPathExpression exprErrorCode = > factory.compile("/descendant::error_code", Filters.element()); > Element error_code = (Element) exprErrorCode.evaluateFirst(_doc); > > if(error_code != null){ > errorCode = Integer.parseInt(error_code.getText()); > XPathExpression exprErrorDesc = > factory.compile("/descendant::error_description", Filters.element()); > Element error_desc = (Element) exprErrorDesc.evaluateFirst(_doc); > if(error_desc != null) > errorDesc = error_desc.getText(); > } > > When I debug the program I get the next error: > > java.lang.NoClassDefFoundError: org/jaxen/NamespaceContext > at java.lang.ClassLoader.defineClass1(Native Method) > at java.lang.ClassLoader.defineClass(ClassLoader.java:791) > at > java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) > at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) > at java.net.URLClassLoader.access$100(URLClassLoader.java:71) > at java.net.URLClassLoader$1.run(URLClassLoader.java:361) > 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) > at > org.jdom2.xpath.jaxen.JaxenXPathFactory.compile(JaxenXPathFactory.java:82) > at org.jdom2.xpath.XPathFactory.compile(XPathFactory.java:281) > at > com.ej2DomiturIntegration.xml.XMLCommImpl.setErrorsFromXML(XMLCommImpl.java:263) > at > com.ej2DomiturIntegration.xml.XMLCommImpl.getConnResponse(XMLCommImpl.java:308) > at > com.ej2DomiturIntegration.xml.XMLCommImplTest.testOpenConnection(XMLCommImplTest.java:23) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:601) > at > org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45) > at > org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) > at > org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42) > at > org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) > at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263) > at > org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68) > at > org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47) > at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231) > at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60) > at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229) > at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50) > at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222) > at org.junit.runners.ParentRunner.run(ParentRunner.java:300) > at > org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50) > at > org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) > at > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) > at > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) > at > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) > at > org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) > 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) > ... 40 more > > Can somebody help me, please? > > Thanks in advance