import java.io.File;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.io.SAXReader;
public class Test {
public static void main(String args[]) {
try {
File f = new File("D:/data.xml");
if (f.exists()) {
SAXReader reader = new SAXReader();
reader.setEncoding("UTF-8");
Document document = reader.read(f);
if (document == null) {
System.out.println("hehe");
}else{
System.out.println(document.content());
<b>List list = document.selectNodes("//root/author");</b>
System.out.println(list.size());
}
}else
System.out.println("file not exist");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
xml文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<root name="max">
<author name="James" location="UK">James Strachan</author>
<author name="Bob" location="US">Bob McWhirter</author>
</root>
webService客户端程序:
import java.net.MalformedURLException;
import java.net.URL;
import org.codehaus.xfire.client.Client;
public class WebServiceClient {
private static Client client;
public static void main(String[] args) {
try {
client = new Client(new URL("http://127.0.0.1:8080/services/sczxService.ws?wsdl"));
Object[] o=client.invoke("searchScjgBySjh", new Object[]{"13926275980"});
System.out.println(o[0].toString());
client.close();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
}
运行客户端程序时报错:
[org.dom4j.tree.DefaultElement@7a84e4 [Element: <root attributes: [org.dom4j.tree.DefaultAttribute@1aaa14a [Attribute: name name value "max"]]/>]]
java.lang.NoClassDefFoundError: org/jaxen/JaxenException
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 test2.Test.main(Test.java:21)
错误出在List list = document.selectNodes("//root/author");这里,但我不知道为什么错
------解决方法--------------------------------------------------------
少包 jaxen.jar
------解决方法--------------------------------------------------------
同上,在dom4j的解压包lib目录下把jaxen.jar放到你的类路径里去
总结java.lang.NoClassDefFoundError可能有俩种:
1.java.lang.NoClassDefFoundError指向的"org/jaxen/JaxenException "这个字符串所指对象的类不存在
如不是自定义类的话,到 http://www.findjar.com 查找包含该信息的jar包并引入.
2.类的加载先后顺序有问题
如启动web application的时候,类的加载是有一个先后顺序的,如果应该先加载的类在后面加载,别的类在调用时找不到它,那么也会报这个错.
其他 java.lang.NoClassDefFoundError 异常处理都可这样处理.
分享到:
相关推荐
java.lang.NoClassDefFoundError: org/jaxen/JaxenException at org.dom4j.DocumentFactory.createXPath(DocumentFactory.java:230) at org.dom4j.tree.AbstractNode.createXPath(AbstractNode.java:207) at org....
恶心的问题,java.lang.NoClassDefFoundError: org/jaxen/JaxenException 分类: xml 问题 2011-12-29 13:28 0人阅读 评论(0) 收藏 编辑 删除 原来什么问题都没有,就是没有用那个jaxen.jar这个包 可以从...
用dom4j解析xml时,经常需要用到xpath,由于dom4j-1.6.1.jar不包括jaxen-1.1-beta-6.jar,导致使用xpath报错。 其中jaxen-full.jar是为了解决ava.lang.NoClassDefFoundError: org/jaxen/JaxenException错误。 下载的...
使用dom4j解析XML时,要快速获取某个节点的数据,使用XPath是个不错的方法,dom4j的快速手册里也建议使用这种方式 执行时却抛出以下异常: Exception in thread "main" java.lang.NoClassDefFoundError: org/jaxen...
使用dom4j解析XML时,要快速获取某个节点的数据,使用XPath是个不错的方法,dom4j的快速手册里也建议使用这种方式 执行时却抛出以下异常: Exception in thread "main" java.lang.NoClassDefFoundError: org/jaxen...
使用dom4j解析XML时,要快速获取某个节点的数据,使用XPath是个不错的方法,dom4j的快速手册里也建议使用这种方式 执行时却抛出以下异常: Exception in thread "main" java.lang.NoClassDefFoundError: org/jaxen...
在Java项目中,这两个JAR文件需要被引入到类路径中,否则可能会遇到运行时错误`java.lang.NoClassDefFoundError: org/jaxen/JaxenException`。 接下来,我们通过一个示例XML文档`holen.xml`来说明解析过程。这个XML...
jaxen-1.1-beta-6.jar.zip///Dom4j解析xml文档,支持包jaxen-1.1.6.jar,解决java.lang.NoClassDefFoundError: org/jaxen/JaxenException 全都要积分,自己找了好久找到,再当一次雷锋
jar包只有两个dom4j和jaxen 后者是xml转javabean用到的,否则会报异常:java.lang.NoClassDefFoundError: org/jaxen/JaxenException。 项目可以直接运行,中间测试数据乱码地方不影响,可以自己替换文字
当遇到`java.lang.NoClassDefFoundError: org/jaxen/JaxenException`这样的错误时,通常是因为缺少了Jaxen库,添加此jar包后,就能解决这个问题。 在实际使用中,开发者常常将dom4j和jaxen结合使用。通过dom4j解析...
**DOM4j** 是一款专为Java平台设计的开源XML解析处理工具。它的设计充分考虑了性能和易用性,同时提供了对DOM、SAX及JAXP等标准的支持,因此非常适合进行复杂的XML文件读写操作。 ##### 版本与获取 - **最新版本**...
在使用DOM4J进行XML操作时,如果需要使用XPath表达式来定位和操作XML元素,那么就需要引入jaxen.jar,否则在运行时可能会遇到`java.lang.NoClassDefFoundError`异常。 具体到DOM4J的功能,以下是一些关键知识点: ...
### DOM4j解析XML知识点详解 #### 一、DOM4j简介 DOM4j是一个用于处理XML的Java库,它提供了强大的API来进行XML文档的创建、解析、查询和修改等功能。DOM4j的设计简洁直观,使得开发者能够轻松地进行XML处理任务。...
5. **XML解析库**:如`dom4j.jar`、`jaxen.jar`或`Woodstox.jar`,处理XML文档的读写和解析。 6. **安全加密库**:如`bcprov-jdk15on.jar`,来自Bouncy Castle,提供加密算法支持;`jasypt.jar`,提供简单的加密...