老师。我这个为啥报错啊,我安装的jaxen版本是1.1.1的,没看见1.2的呀

来源:4-8 XPath实验室

慕工程8205364

2020-11-23 20:22:20

# 具体遇到的问题

# 报错信息的截图

# 相关课程内容截图

# 尝试过的解决思路和结果

# 粘贴全部相关代码,切记添加代码注释(请勿截图)

在这里输入代码,可通过选择【代码语言】突出显示

import java.util.List;


import org.dom4j.Document;

import org.dom4j.DocumentException;

import org.dom4j.Element;

import org.dom4j.Node;

import org.dom4j.io.SAXReader;


public class XpathTest {

public void xpath(String xpathExp) {

String file="d:/java/xml/src/one.xml";

SAXReader reader=new SAXReader();

try {

Document document = reader.read(file);

List<Node> nodes = document.selectNodes(xpathExp);

for(Node node:nodes) {

Element emp = (Element) node;

System.out.println(emp.attributeValue("nu"));

System.out.println(emp.elementText("name"));

System.out.println(emp.elementText("age"));

System.out.println(emp.elementText("wage"));

System.out.println("=================================");

}

} catch (DocumentException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

public static void main(String[] args) {

XpathTest as=new XpathTest();

// as.xpath("/one/company");

as.xpath("//company");

}


}



<?xml version="1.0" encoding="UTF-8"?>

<!--<!DOCTYPE one SYSTEM "one.dtd"> --><!-- 公司员工信息 -->

<one xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:noNamespaceSchemaLocation="one.xsd">

<company nu="3010">

<name>张三</name>

<age>31</age>

<wage>5000</wage>

<department>

<department-name>会计部</department-name>

<position>普通员工</position>

</department>

</company>


<company nu="3011">

<name>李四</name>

<age>22</age>

<wage>5500</wage>

<department>

<department-name>会计部</department-name>

<position>普通员工</position>

</department>

</company>


<company nu="3012">

<name>老王</name>

<age>40</age>

<wage>15000</wage>

<department>

<department-name>工程部</department-name>

<position>经理</position>

</department>

</company>


<company nu="3013">

<name>李天柱</name>

<age>39</age>

<wage>25000</wage>

<department>

<department-name>工程部</department-name>

<position>负责人</position>

</department>

</company>


<company nu="3014">

<name>王浩</name>

<age>30</age>

<wage>3000</wage>

<department>

<department-name>工程部</department-name>

<position>普通员工</position>

</department>

</company>

<company nu="3015">

<name>龙飞</name>

<age>29</age>

<wage>2500</wage>

<department>

<department-name>项目部</department-name>

<position>普通员工</position>

</department>

</company>

<company nu="3016">

<name>丽华</name>

<age>22</age>

<wage>4000</wage>

<department>

<department-name>人事部</department-name>

<position>普通员工</position>

</department>

</company>

</one>



这个是报错的

Exception in thread "main" java.lang.NoClassDefFoundError: org/jaxen/JaxenException

at org.dom4j.DocumentFactory.createXPath(DocumentFactory.java:222)

at org.dom4j.tree.AbstractNode.createXPath(AbstractNode.java:202)

at org.dom4j.tree.AbstractNode.selectNodes(AbstractNode.java:159)

at com.imooc.dom4j.XpathTest.xpath(XpathTest.java:17)

at com.imooc.dom4j.XpathTest.main(XpathTest.java:34)

Caused by: java.lang.ClassNotFoundException: org.jaxen.JaxenException

at java.net.URLClassLoader.findClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

... 5 more


写回答

1回答

好帮手慕小脸

2020-11-24

同学你好,

http://img.mukewang.com/climg/5fbc69b10949d56d06150254.jpg

报错信息是提示,没有找到这个org.jaxen.JaxenException类。

同学导入了jaxen的jar后,有执行如下步骤吗?如果没有,右键jar包选择Build Path--Add to Build Path

http://img.mukewang.com/climg/5fbc6b1b09e1f8ab05790058.jpg

上述步骤还是不可以的话,同学可尝试下载老师的源码,在lib目录找如下两个jar包,并复制到自己的lib目录下试试

http://img.mukewang.com/climg/5fbc6b8f09a1355e01420039.jpg

​祝学习愉快~

0

0 学习 · 16556 问题

查看课程