在Java中使用Openllet时出现NullPointerException

问题描述 投票:0回答:1

当我使用 owlapi 和 Openllet 库在 Java 代码中创建本体管理器时,会发生 NullPointerException。

将 opellet 2.6.5 添加到项目中会引发以下错误:

Exception in thread "main" java.lang.NullPointerException
at java.base/java.util.Objects.requireNonNull(Objects.java:221)
at java.base/java.util.Optional.<init>(Optional.java:107)
at java.base/java.util.Optional.of(Optional.java:120)
at java.base/java.util.stream.FindOps$FindSink$OfRef.get(FindOps.java:194)
at java.base/java.util.stream.FindOps$FindSink$OfRef.get(FindOps.java:191)
at java.base/java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:150)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.findAny(ReferencePipeline.java:548)
at org.semanticweb.owlapi.utilities.Injector.getImplementation(Injector.java:246)
at org.semanticweb.owlapi.apibinding.OWLManager.createOWLOntologyManager(OWLManager.java:119)
at com.owltest.App.main(App.java:27)

无需创建 Openllet 管理器。但我需要 Openllet 来实现内置的 swrl 规则。

owl-api pellet reasoner
1个回答
0
投票

Injector 类中的异常意味着库无法找到某些接口的实现,这意味着类路径不完整或不同 OWLAPI 版本发生冲突。您可以添加类路径的详细信息吗?例如,如果您使用 maven,则您的 pom.xml。否则类路径中 jar 的完整列表。

© www.soinside.com 2019 - 2024. All rights reserved.