我是一个JDom新手,我尝试使用XPath来访问我的xml文件。我的代码如下:
public static void main(String[] args) throws Exception {
Document doc = new SAXBuilder().build("file.xml");
XPath x = XPath.newInstance("xpath");
//select the first element in the nodeset
Element elem = (Element)x.selectSingleNode(doc);
......
}我已经导入了org.jdom.xpath.XPath类。当我使用javac编译这个类时,它没有给出任何错误,但是当我尝试运行程序时,它给出了以下异常消息:
Exception in thread "main" java.lang.NoClassDefFoundError: org/jaxen/NamespaceContext
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at org.jdom.xpath.XPath.newInstance(XPath.java:134)
at myclassname.main(xmlTohtml.java:18)
Caused by: java.lang.ClassNotFoundException: org.jaxen.NamespaceContext
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)
... 4 more我是不是漏掉了什么?任何帮助都将不胜感激!
我在直接位于主目录下的.cshrc文件中添加了jaxen和dom4j,这两个jar文件也在同一个目录中。
setenv CLASSPATH ${CLASSPATH}:/homedirectory/jaxen-1.1.1.jar
setenv CLASSPATH ${CLASSPATH}:/homedirectory/dom4j-1.6.1.jar当我从命令行尝试此命令时,它会生成新的异常...
Exception in thread "main" java.lang.NoClassDefFoundError: :
Caused by: java.lang.ClassNotFoundException: :
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)顺便说一下,我的程序中导入的类是:
import java.util.Iterator;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
import org.jdom.Namespace;
import org.jdom.xpath.XPath;发布于 2011-08-15 00:44:32
在类路径中包括dom4j.jar和jaxen.jar。
发布于 2011-08-15 00:51:36
我怀疑您的类路径中没有jaxen-1.1.3.jar。如果我假设您是从命令行运行此命令,您会希望:
java -cp jaxen-1.1.3.jar:. myJavaProgram发布于 2013-02-27 16:14:41
只需要jaxen1.1.3就足够了,不需要dom4j
https://stackoverflow.com/questions/7058158
复制相似问题