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 发行版,所有需要的 jars 都在 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 文件之一。看起来它是其中一个slf4j罐子。您需要在类路径中包含 Jena 附带的所有 jar 文件。如何设置类路径取决于您的操作系统和/或 IDE,但 Google 可以提供帮助。

于 2012-09-10T16:38:20.640 回答