【发布时间】:2020-04-25 17:35:54
【问题描述】:
我正在尝试运行此代码,但出现以下错误。
package practicaXML;
import javax.xml.xquery.*;
import org.w3c.dom.Node;
import net.xqj.basex.BaseXXQDataSource;
public class App {
public static void main(String[] args) {
try {
XQDataSource xqs = new BaseXXQDataSource();
xqs.setProperty("serverName", "localhost");
xqs.setProperty("port", "1984");
xqs.setProperty("databaseName", "facts");
XQConnection conn = xqs.getConnection("admin", "admin");
String xqueryString = "//province[contains(@name, 'x')]";
XQExpression xqe = conn.createExpression();
XQResultSequence rs = xqe.executeQuery(xqueryString);
Node n;
while(rs.next()) {
n = rs.getNode();
System.out.println(n.getAttributes().getNamedItem("name").getNodeValue());
}
conn.close();
} catch (Exception e) {
System.out.println("Error: " + e.getMessage());
}
}
}
控制台:
Error: Unable to initialize main class practicaXML.App
Caused by: java.lang.NoClassDefFoundError: javax/xml/xquery/XQDataSource
这是我第一次使用 basex 和 xpath,我不知道是什么原因造成的,也不知道如何解决。
【问题讨论】:
-
检查所有依赖项是否都在类路径中。
-
@user 我已经修复了依赖关系,现在我收到以下错误:错误:连接被拒绝:没有更多信息。你知道那是什么吗?
-
我不知道,但这可能会有所帮助 - stackoverflow.com/questions/5981709/…
标签: java xml xpath xquery basex