eXist xml db:java.lang.NoClassDefFoundError:org/apache/ws/commons/serialize/DOMSerializer

 韩国高防服务器 发布于 2023-01-30 11:38

我试图访问使用嵌入式方法的eXist中XML DB,如所描述这里.

该页面有一个类路径所需的jar列表,​​我在那里有所有这些,但我一直收到这个错误:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/ws/commons/serialize/DOMSerializer

这是我在课堂上的内容; 我正在使用eclipse:

antlr-2.7.7.jar
commons-collections-3.2.1.jar
commons-logging-1.1.1.jar
commons-pool-1.6.jar
exist-modules.jar
exist-optional.jar
exist.jar
jta-1.1.jar
log4j-1.2.17.jar
pkg-repo.jar
quartz-2.1.6.jar
slf4j-api-1.7.2.jar
slf4j-log4j12-1.7.2.jar
sunxacml-1.2.jar
xmldb.jar
xmlrpc-client-3.1.3.jar
xmlrpc-common-3.1.3.jar
xmlrpc-server-3.1.3.jar
saxonhe-9.4.0.7.jar
serializer-2.7.1.jar
xalan-2.7.1.jar
xercesImpl-2.11.0.jar
xml-apis-1.4.01.jar
xml-resolver-1.2.jar

这是相关代码:

        System.out.println("trying to call class.forname on " + DRIVER);
        Class cl = Class.forName(DRIVER);

        System.out.println("creating db instance");
        Database database = (Database) cl.newInstance();
        database.setProperty("create-database", "true");

        System.out.println("register database");
        DatabaseManager.registerDatabase(database);

        System.out.println("getting collection: " + URI + collectionName);
        Collection collection = DatabaseManager.getCollection(URI + collectionName);
        //collection.setProperty(OutputKeys.INDENT, "yes");

        //System.out.println("getting resource");
        //XMLResource xmlRes = (XMLResource)collection.getResource(resourceName);

这是控制台输出,包括错误:

******************************************************
reading a doc from xml db
******************************************************
reading doc...
trying to call class.forname on org.exist.xmldb.DatabaseImpl
creating db instance
register database
getting collection: xmldb:exist://localhost:8080/exist/xmlrpc/db/test-journal
Exception in thread "main" java.lang.NoClassDefFoundError:     org/apache/ws/commons/serialize/DOMSerializer
at org.apache.xmlrpc.serializer.NodeSerializer.(NodeSerializer.java:30)
at org.apache.xmlrpc.common.TypeFactoryImpl.(TypeFactoryImpl.java:88)
at org.apache.xmlrpc.common.XmlRpcController.(XmlRpcController.java:31)
at org.apache.xmlrpc.client.XmlRpcClient.(XmlRpcClient.java:51)
at org.exist.xmldb.DatabaseImpl.getRpcClient(DatabaseImpl.java:324)
at org.exist.xmldb.DatabaseImpl.getRemoteCollection(DatabaseImpl.java:240)
at org.exist.xmldb.DatabaseImpl.getCollection(DatabaseImpl.java:164)
at org.exist.xmldb.DatabaseImpl.getCollection(DatabaseImpl.java:153)
at org.xmldb.api.DatabaseManager.getCollection(Unknown Source)
at org.xmldb.api.DatabaseManager.getCollection(Unknown Source)
at     com.jasonwardenburg.codetest.exist.ExistDBFileReader.readDoc(ExistDBFileReader.java:48)
at com.jasonwardenburg.codetest.exist.ExistDBFileReader.main(ExistDBFileReader.java:27)
Caused by: java.lang.ClassNotFoundException: org.apache.ws.commons.serialize.DOMSerializer
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
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)
... 12 more

我去了apache xml-rpc页面,但是大多数镜像站点都没有运行......任何人都有任何关于使这个工作的最佳方法的想法?谢谢!

1 个回答
  • 您缺少来自$ EXIST_HOME/lib/core的ws-commons-util-1.0.2.jar.

    我想文档已经过时了.您应该确保至少包含了$ EXIST_HOME/lib/core中的所有库.

    2023-01-30 11:40 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有