gpt4 book ai didi

java - Sesame - 初始化存储库时出错 AbstractParserQuery 未找到

转载 作者:太空宇宙 更新时间:2023-11-04 12:54:33 24 4
gpt4 key购买 nike

我需要实现一个简单的java应用程序来在Seasame上执行一些查询。我想一开始尝试一些简单的事情,但我无法初始化存储库。我遵循官方指南,我的程序如下所示:

   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() 方法引发错误。我试图在谷歌上搜索,但没有任何结果...我试图搜索 org.openrdf.query.impl 包中的类,但该类不存在...我尝试用 MemoryStore 代替 NativeStore,但遇到了同样的错误。有谁知道我接下来可以尝试什么?

最佳答案

您混合了两个不同版本的 Sesame,这可能会导致问题。对于您对 sesame-runtime 的依赖,您有 4.0.1,对于其他库,您有 4.1.0。无论如何,如果您要导入特定的 sesame 库(例如 model、sail-nativerdf 等),您确实不需要 sesame-runtime 依赖项(这是一个“包罗万象”的依赖项)。

您可能需要考虑使用 Sesame 的 Material list (BOM) - 这使得处理事情变得更容易,因为您只在一个地方定义 Sesame 的版本。请参阅documentation有关此的更多详细信息。

关于java - Sesame - 初始化存储库时出错 AbstractParserQuery 未找到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35525657/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com