2017-09-25 23 views
2

RDF4JをMaven(OSGiコンテナなし)と一緒に使用すると、RDF4Jが提供するすべてのクラスを利用できます。しかし、OpenDaylightでRDF4Jを使用すると、RDF4Jクラスを使用していたバンドルは、満たされていない要件のために起動しません。 私はIntelliJのアイデアを使用していると私はgroupIdを持つOpenDaylightの原型を使用して新しいプロジェクトを作成しました:私のパッケージのhttps://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/archetype-catalog.xmlOpenDaylight OSGiはRDF4Jバンドルをインストールした後でもRDF4Jクラスを見つけることができません

:org.opendaylight.controller、たartifactId:opendaylight-スタートアップ原型、バージョン:1.4.0-SNAPSHOTとリポジトリをグループID:org.exmaple、 アーティファクトID:rdfTest、 バージョン:1.0-SNAPSHOT、 は私が原型が正常にコンパイルのMaven 3.3.9

を使用していると私はすべての機能をインストールすることができますよ。 (./karaf/target/assembly/bin/karafその後、機能によって機能をインストールする: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バンドルがインストールされていないと思います。私はそれをインストールするためのさまざまな方法を試みたが、何も働いた(installing 3rd party non-osgi bundles

OpenDaylightでRDF4Jを使用する方法はありますか?

+0

RDF4Jの代わりにApache Jenaを使用しましたが、ここでも同じ問題が発生しました。機能はインストールされますが、バンドルはインストールされません。再構築された状態になり、バンドルされます:ヘッダーにはインポートが欠落しています(org.apache.jena.rdf.model)。誰でもこれらのツールの使い方を教えることができれば、大きな助けになるでしょう。 – Nitin

答えて

1

さて、私はそれを今働いています。私は手動でrdf4j-runtime-osgiバンドルとその他の必要な依存関係をインストールしました。これらは私がインストールしたバンドルです:

bundle:install -s mvn:org.mapdb/mapdb/1.0.8 
bundle:install -s mvn:com.spatial4j/spatial4j/0.4.1 
bundle:install -s mvn:com.opencsv/opencsv/3.2 
bundle:install -s mvn:org.apache.httpcomponents/httpcore-osgi/4.4.6 
bundle:install -s mvn:org.apache.httpcomponents/httpclient-osgi/4.5.3 
bundle:install -s mvn:com.fasterxml.jackson.core/jackson-annotations/2.9.0 
bundle:install -s mvn:com.fasterxml.jackson.core/jackson-core/2.9.0 
bundle:install -s mvn:com.fasterxml.jackson.core/jackson-databind/2.9.0 
bundle:install -s mvn:ch.qos.logback/logback-core/1.2.2 
bundle:install -s mvn:org.slf4j/slf4j-api/1.7.25 
bundle:install -s mvn:ch.qos.logback/logback-classic/1.2.2 
bundle:install -s mvn:com.github.jsonld-java/jsonld-java/0.11.1 
bundle:install -s mvn:org.eclipse.rdf4j/rdf4j-runtime-osgi/2.2.2 

そして、bundle:startというRDF4Jを使用していたバンドルを起動しました。後で、これらすべてのインストール手順をフィーチャーフォルダ内のfeatures.xmlファイルに含めて開発しています。そのため、毎回手動でインストールする必要はありません。

<bundle><![CDATA[wrap:mvn:org.mapdb/mapdb/1.0.8$Bundle-Version=1.0.8&Bundle-SymbolicName=mapdb]]></bundle> 
    <bundle><![CDATA[wrap:mvn:com.spatial4j/spatial4j/0.4.1$Bundle-Version=0.4.1&Bundle-SymbolicName=spatial4j]]></bundle> 
    <bundle><![CDATA[wrap:mvn:com.opencsv/opencsv/3.2$Bundle-Version=3.2&Bundle-SymbolicName=opencsv]]></bundle> 
    <bundle><![CDATA[wrap:mvn:org.apache.httpcomponents/httpcore-osgi/4.4.6$Bundle-Version=4.4.6&Bundle-SymbolicName=httpcore-osgi]]></bundle> 
    <bundle><![CDATA[wrap:mvn:org.apache.httpcomponents/httpclient-osgi/4.5.3$Bundle-Version=4.5.3&Bundle-SymbolicName=httpclient-osgi]]></bundle> 
    <bundle><![CDATA[wrap:mvn:com.fasterxml.jackson.core/jackson-annotations/2.9.0$Bundle-Version=2.9.0&Bundle-SymbolicName=jackson-annotations]]></bundle> 
    <bundle><![CDATA[wrap:mvn:com.fasterxml.jackson.core/jackson-core/2.9.0$Bundle-Version=2.9.0&Bundle-SymbolicName=jackson-core]]></bundle> 
    <bundle><![CDATA[wrap:mvn:com.fasterxml.jackson.core/jackson-databind/2.9.0$Bundle-Version=2.9.0&Bundle-SymbolicName=jackson-databind]]></bundle> 
    <bundle><![CDATA[wrap:mvn:ch.qos.logback/logback-core/1.2.2$Bundle-Version=1.2.2&Bundle-SymbolicName=logback-core]]></bundle> 
    <bundle><![CDATA[wrap:mvn:org.slf4j/slf4j-api/1.7.25$Bundle-Version=1.7.25&Bundle-SymbolicName=slf4j-api]]></bundle> 
    <bundle><![CDATA[wrap:mvn:ch.qos.logback/logback-classic/1.2.2$Bundle-Version=1.2.2&Bundle-SymbolicName=logback-classic]]></bundle> 
    <bundle><![CDATA[wrap:mvn:com.github.jsonld-java/jsonld-java/0.11.1$Bundle-Version=0.11.1&Bundle-SymbolicName=jsonld-java]]></bundle> 
    <bundle><![CDATA[wrap:mvn:org.eclipse.rdf4j/rdf4j-runtime-osgi/2.2.2$Bundle-Version=2.2.2&Bundle-SymbolicName=rdf4j-runtime]]></bundle> 
関連する問題