3

イエナを使おうとしています。新しいオントロジーを作成するための私のコードは次のとおりです。

    String SOURCE = "http://www.w3.org/2002/07/owl#";
    String NS = SOURCE + "#";
    OntModel ontology = ModelFactory.createOntologyModel();
    ontology.read( SOURCE, "OWL/XML" );

しかし、それは私にこのエラーを与えます:

Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
    at com.hp.hpl.jena.util.Metadata.<clinit>(Metadata.java:26)
    at com.hp.hpl.jena.JenaRuntime.<clinit>(JenaRuntime.java:25)
    at com.hp.hpl.jena.rdf.model.impl.RDFReaderFImpl.<clinit>(RDFReaderFImpl.java:85)
    at com.hp.hpl.jena.rdf.model.impl.ModelCom.<clinit>(ModelCom.java:42)
    at com.hp.hpl.jena.rdf.model.ModelFactory.createDefaultModel(ModelFactory.java:122)
    at com.hp.hpl.jena.rdf.model.ModelFactory.createDefaultModel(ModelFactory.java:116)
    at com.hp.hpl.jena.vocabulary.OWL.<clinit>(OWL.java:37)
    at com.hp.hpl.jena.ontology.ProfileRegistry.<clinit>(ProfileRegistry.java:48)
    at com.hp.hpl.jena.ontology.OntModelSpec.<clinit>(OntModelSpec.java:54)

何が問題なのですか?解決策が見つかりませんでした。

4

2 に答える 2

3

Jenaディストリビューションを使用する場合、必要なすべてのjarはlib/ディレクトリにあります。それらはすべてクラスパスに必要です。

Windows / cygwinの場合:

javac -cp '<install dir>\lib\*;' MyClass.java

Linuxの場合:

javac -cp '<install dir>/lib/*' MyClass.java

実行するには、作成され.classたものもパスに含まれている必要があります。

java -cp '.:<install dir>/lib/*' MyClass

Mavenを使用してJenaを取得する場合、依存関係は自動的に取り込まれます。

于 2012-09-11T07:53:32.723 に答える
1

Javaクラスパスに、Jenaに必要なjarファイルの1つがありません。slf4jそれは瓶の1つであるように見えます。クラスパスにJenaに付属するすべてのjarファイルが必要です。クラスパスの設定方法はOSやIDEによって異なりますが、Googleがお手伝いします。

于 2012-09-10T16:38:20.640 に答える