Я пытаюсь использовать существующий-db в своем приложении, поэтому чтобы проверить его встраивание, я следовал руководству, указанному на веб-странице eXist-db http://www.exist -db.org / exist / apps / doc / deploy .xml .
Для самого кода:
import org.xmldb.api.DatabaseManager;
import org.xmldb.api.base.Collection;
import org.xmldb.api.base.Database;
import org.exist.xmldb.DatabaseInstanceManager;
public class TestDB {
public static void main(String args[]) throws Exception {
// initialize driver
Class cl = Class.forName("org.exist.xmldb.DatabaseImpl");
Database database = (Database)cl.newInstance();
database.setProperty("create-database", "true");
DatabaseManager.registerDatabase(database);
// try to read collection
Collection col =
DatabaseManager.getCollection("xmldb:exist:///db", "admin", "");
String resources[] = col.listResources();
System.out.println("Resources:");
for (int i = 0; i < resources.length; i++) {
System.out.println(resources[i]);
}
// shut down the database
DatabaseInstanceManager manager = (DatabaseInstanceManager)
col.getService("DatabaseInstanceManager", "1.0");
manager.shutdown();
}
}
Сам код можно найти внизу предоставленной мною веб-страницы.
Это закончилось тем, что мы застряли при выполнении DatabaseManager.getCollection("xmldb:exist:///db", "admin", "")
со следующим выводом https://pastebin.com/b6Tf7K1L.
Я выбрал следующие параметры виртуальной машины: -Djava.endorsed.dirs=lib/endorsed -Dexist.initdb=true -Dexist.home=.
(с использованием IntelliJ IDEA и Java 8 в 2017.2.7).
Это первый раз, когда я работаю с базами данных exist-db и xml в целом и не могу найти решение. Я следовал части руководства «Встраивание eXist в приложение» в приведенной выше ссылке.