Я использую Сезам для доступа образца RDF хранилище,NoClassDefFoundError для Jar библиотеки
String sesameServer = "http://asimov.ludat.lth.se/openrdf-sesame/";
String repositoryID = "KnowRob";
// Cannot create HTTPRepository
Repository myRepository = new HTTPRepository(sesameServer,repositoryID);
myRepository.initialize();
RepositoryConnection con = myRepository.getConnection();
однако, я получаю NoClassDefFoundError при попытке запустить код, указанный выше.
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/httpclient/Credentials
at org.openrdf.repository.http.HTTPRepository.<init>(HTTPRepository.java:54)
at org.openrdf.repository.http.HTTPRepository.<init>(HTTPRepository.java:59)
at RDF.Start.main(Start.java:30)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.httpclient.Credentials
at java.net.URLClassLoader$1.run(Unknown Source)
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)
... 3 more
Похоже, вам нужна библиотека '' Apache HttpClient' (http://hc.apache.org/) в вашем пути к классу. Обратите внимание, что версии 3.x и 4.x сильно различаются, поэтому не забудьте найти правильный для этого проекта, который должен быть указан в README или где-то еще в библиотеке Sesame. –
Я бы предпочел использовать Maven или эквивалент для управления вашим транзитивным управлением зависимостями; таких проблем не стоит иметь дело с вручную. –
@LuiggiMendoza Спасибо! Это была не совсем проблема, но я загрузил 'openrdf-sesame-2.6.10-sdk' вместо' openrdf-sesame-2.6.10-onejar' файл с сайта Sesame, и это сработало! – Bonk