Мне нужно реализовать простое java-приложение для выполнения некоторых запросов на Seasame. Я хотел попробовать что-то простое для начала, но я не могу инициализировать репозиторий. Я после официального руководства и моя программа выглядит следующим образом:Sesame - репозиторий инициализации ошибок AbstractParserQuery не найден
public class HelloSesame {
public static void main(String[] args) {
File dataDir = new File("../../resources/test.ttl");
Repository rep = new SailRepository(new NativeStore(dataDir));
rep.initialize();
RepositoryConnection conn = rep.getConnection();
//...omitted code
}
}
и мой pom.xml
<sourceDirectory>src</sourceDirectory>
<resources>
<resource>
<directory>src</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.openrdf.sesame</groupId>
<artifactId>sesame-runtime</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.1.3</version> </dependency>
<dependency>
<groupId>org.openrdf.sesame</groupId>
<artifactId>sesame-model</artifactId>
<version>4.1.0</version>
</dependency> <dependency>
<groupId>org.openrdf.sesame</groupId>
<artifactId>sesame-repository-sail</artifactId>
<version>4.1.0</version> </dependency> <dependency>
<groupId>org.openrdf.sesame</groupId>
<artifactId>sesame-queryparser-sparql</artifactId>
<version>4.1.0</version> </dependency> <dependency>
<groupId>org.openrdf.sesame</groupId>
<artifactId>sesame-rio-api</artifactId>
<version>4.1.0</version> </dependency> <dependency>
<groupId>org.openrdf.sesame</groupId>
<artifactId>sesame-query</artifactId>
<version>4.1.0</version>
</dependency>
</dependencies>
</project>`
Каждый раз, когда я пытаюсь запустить это приложение, я получаю ошибку:
16:02:06.436 [main] DEBUG o.openrdf.sail.nativerdf.NativeStore - Initializing NativeStore... 16:02:06.461 [main] DEBUG o.openrdf.sail.nativerdf.NativeStore - Data dir is ../../resources/test.ttl 16:02:06.540 [main] DEBUG o.openrdf.sail.nativerdf.NativeStore - NativeStore initialized Exception in thread "main" java.lang.NoClassDefFoundError: org/openrdf/query/impl/AbstractParserQuery at java.lang.ClassLoader.defineClass1(Native Method) ... at main.jridrer.functiontest.HelloSesame.main(HelloSesame.java:36) Caused by: java.lang.ClassNotFoundException: org.openrdf.query.impl.AbstractParserQuery at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 15 more
Ошибка вызывается методом rep.getConnection(). Я попытался выполнить поиск в google, но ничего ... Я попытался выполнить поиск в классе в пакете bat.openrdf.query.impl, этот класс там не существует ... Я попытался сделать MemoryStore на месте из NativeStore, но я получаю ту же ошибку. Кто-нибудь знает, что я могу попробовать дальше?
Да, действительно, это была проблема, стыд за меня ... Я проверил все версии, но я не заметил разницы между 4.0.1 и 4.1.0:/Спасибо! – odkrywczyni