我正在尝试使用耶拿。为了创建一个新的本体,我的代码是:
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)
有什么问题?我找不到任何解决办法。
答案 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可以提供帮助。