import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
public class TestWebService {
public String getName(){
return "open is a good boy";
}
public int getAge()
{
return 11;
}
public static void main(String arg[]){
// //创建doucument 对象
// Document document=DocumentHelper.createDocument();
// //创建xml 文档的根节点
// Element root=document.addElement("books");
// //加xml的注释
// root.addComment("this is testing for dom4j creat a xml");
// //追加孩子节点
// Element book=root.addElement("book");
// //加入内容
// book.addAttribute("show", "yse");
// Element title=book.addElement("tile");
// title.addText("西游记");
// Element book2=root.addElement("book");
// //加入内容
// book2.addAttribute("show", "no");
// Element title2=book2.addElement("title");
// title2.addText("红楼梦");
// Element book3=root.addElement("book");
// //加入内容
// book3.addAttribute("show", "no");
// Element title3=book3.addElement("title");
// title3.addText("水浒传");
// Element owner=root.addElement("owner");
// owner.addText("oupeng");
//
// try {
// String dirPath=System.getProperty("user.dir");
// System.out.print(dirPath);
// OutputFormat format=new OutputFormat();
// XMLWriter writer=new XMLWriter(new FileOutputStream(dirPath+"\\test.xml"),format);
// writer.write(document);
// writer.close();
// } catch (IOException e) {
// e.printStackTrace();
// }
modifyXML();
}
public static void modifyXML()
{
try{
String dirPath=System.getProperty("user.dir");
SAXReader reader=new SAXReader();
Document document=reader.read(new File(dirPath+"\\test.xml"));
//先用xpath 查找对象
List list=document.selectNodes("/books/book/@show");
Iterator it=list.iterator();
while (it.hasNext())
{
Attribute attr=(Attribute)it.next();
if(attr.getValue().equalsIgnoreCase("yse"))
{
attr.setValue("你好,我修改了xml");
}
}
XMLWriter writer=new XMLWriter(new FileOutputStream(dirPath+"\\test.xml"));
writer.write(document);
writer.close();
}catch(Exception e)
{
e.printStackTrace();
}
}
}
出错在: List list=document.selectNodes("/books/book/@show");
解决方法:
下载一个 jaxen.1.1.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 分类: xml 问题 2011-12-29 13:28 0人阅读 评论(0) 收藏 编辑 删除 原来什么问题都没有,就是没有用那个jaxen.jar这个包 可以从...
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....
org/jaxen/JaxenException.class 1.2 KB org/jaxen/JaxenHandler.class 10.75 KB org/jaxen/JaxenRuntimeException.class 1.63 KB org/jaxen/NamedAccessNavigator.class 394.0 bytes org/jaxen/...
Exception in thread "main" java.lang.NoClassDefFoundError: org/jaxen/JaxenException at org.dom4j.DocumentFactory.createXPath(DocumentFactory.java:230) at org.dom4j.tree.AbstractNode.createXPath...
导致java.lang.NoClassDefFoundError: org/jaxen/JaxenException错误
其中jaxen-full.jar是为了解决ava.lang.NoClassDefFoundError: org/jaxen/JaxenException错误。 下载的rar包内容有: dom4j-1.6.1.jar jaxen-1.1-beta-6.jar jaxen-full.jar 如果大家有好的建议或方法及时告诉我,...
Exception in thread "main" java.lang.NoClassDefFoundError: org/jaxen/JaxenException at org.dom4j.DocumentFactory.createXPath(DocumentFactory.java:230) at org.dom4j.tree.AbstractNode.createXPath...
jaxen-1.1-beta-6.jar.zip///Dom4j解析xml文档,支持包jaxen-1.1.6.jar,解决java.lang.NoClassDefFoundError: org/jaxen/JaxenException 全都要积分,自己找了好久找到,再当一次雷锋
Exception in thread "main" java.lang.NoClassDefFoundError: org/jaxen/JaxenException at org.dom4j.DocumentFactory.createXPath(DocumentFactory.java:230) at org.dom4j.tree.AbstractNode.createXPath...
当遇到`java.lang.NoClassDefFoundError: org/jaxen/JaxenException`这样的错误时,通常是因为缺少了Jaxen库,添加此jar包后,就能解决这个问题。 在实际使用中,开发者常常将dom4j和jaxen结合使用。通过dom4j解析...
jar包只有两个dom4j和jaxen 后者是xml转javabean用到的,否则会报异常:java.lang.NoClassDefFoundError: org/jaxen/JaxenException。 项目可以直接运行,中间测试数据乱码地方不影响,可以自己替换文字
import org.jaxen.JaxenException; import org.jaxen.XPath; // 解析XML Document doc = DocumentHelper.parseText("<root><element>Content</element></root>"); // 创建XPath对象 XPath xpath = DocumentHelper....
在Java项目中,这两个JAR文件需要被引入到类路径中,否则可能会遇到运行时错误`java.lang.NoClassDefFoundError: org/jaxen/JaxenException`。 接下来,我们通过一个示例XML文档`holen.xml`来说明解析过程。这个XML...
import org.jaxen.JaxenException; import org.jaxen.dom.DOMXPath; // 创建XPath对象 DOMXPath xpath = new DOMXPath("//elementName"); // 使用XPath选择节点 List<Node> nodes = xpath.selectNodes(document); `...
import org.jaxen.JaxenException; import org.jaxen.dom.DOMXPath; public class Main { public static void main(String[] args) throws JaxenException { // 使用DOM4J解析XML Document document = ...
import org.jaxen.JaxenException; import org.jaxen.XPath; import java.io.File; public class XPathDemo { public static void main(String[] args) { try { // 加载XML文件 Document document = ...
import org.jaxen.JaxenException; import org.jaxen.dom.DOMXPath; import org.w3c.dom.Document; // 加载XML文档 Document doc = ...; // 使用DOM解析器加载XML // 创建XPath对象 DOMXPath xpath = new DOMXPath...