与耶拿创建一个新的本体论

时间:2012-09-10 15:27:20

标签: classpath jena ontology

我正在尝试使用耶拿。为了创建一个新的本体,我的代码是:

    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)

有什么问题?我找不到任何解决办法。

2 个答案:

答案 0 :(得分: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,则会自动引入依赖项。

答案 1 :(得分:1)

您的Java类路径缺少Jena所需的一个jar文件。看起来它是slf4j罐子之一。您需要在类路径中包含Jena附带的所有jar文件。如何设置类路径取决于您的操作系统和/或IDE,但Google可以提供帮助。