如果我只使用带有 Maven(没有 OSGi 容器)的 RDF4J,我可以利用 RDF4J 提供的所有类。但是当我将 RDF4J 与 OpenDaylight 一起使用时,我使用 RDF4J 类的捆绑包由于不满足要求而无法启动。我正在使用 IntelliJ Idea,并使用 OpenDaylight 原型创建了一个新项目,其中 groupId:org.opendaylight.controller、artifactId:opendaylight-startup-archetype、版本:1.4.0-SNAPSHOT 和存储库:https://nexus.opendaylight。 org/content/repositories/opendaylight.snapshot/archetype-catalog.xml
我的包的组 ID:org.exmaple,工件 ID:rdfTest,版本:1.0-SNAPSHOT,我使用的是 maven 3.3.9
原型编译成功,我可以安装所有功能。(./karaf/target/assembly/bin/karaf 然后通过 feature:install 命令安装功能)
但是当我在 impl 文件夹的 pom.xml 中添加 RDF4J 依赖项时
<dependency>
<groupId>org.eclipse.rdf4j</groupId>
<artifactId>rdf4j-runtime-osgi</artifactId>
<version>2.2.2</version>
</dependency>
并在 impl/src/main/java/org/example/impl 的 RdfTestProvider.java 中添加以下内容,该功能不会安装。
public void init() {
LOG.info("RdfTestProvider Session Initiated");
Repository rep = new SailRepository(new MemoryStore());
rep.initialize();
LOG.info("Repo successfully initialized");
}
我认为问题在于没有安装 RDF4J 包。我尝试了不同的方法来安装它,但都没有奏效(安装第 3 方非 osgi 捆绑包)
有什么方法可以将 RDF4J 与 OpenDaylight 一起使用?