java.lang.NoClassDefFoundError:dk/brics/automaton/BasicAutomata Execption

java.lang.NoClassDefFoundError:dk/brics/automaton/BasicAutomata Execption,java,ontology,owl-api,Java,Ontology,Owl Api,我使用owlapi返回给定类的个体。在使用pizza本体测试代码时,它工作得非常完美,但当我在本体上测试代码时,出现以下异常: Exception in thread "main" java.lang.NoClassDefFoundError: dk/brics/automaton/BasicAutomata at org.semanticweb.HermiT.datatypes.rdfplainliteral.RDFPlainLiteralPatternValueSpaceSubset

我使用owlapi返回给定类的个体。在使用pizza本体测试代码时,它工作得非常完美,但当我在本体上测试代码时,出现以下异常:

Exception in thread "main" java.lang.NoClassDefFoundError: dk/brics/automaton/BasicAutomata
    at org.semanticweb.HermiT.datatypes.rdfplainliteral.RDFPlainLiteralPatternValueSpaceSubset.<clinit>(RDFPlainLiteralPatternValueSpaceSubset.java:49)
    at org.semanticweb.HermiT.datatypes.rdfplainliteral.RDFPlainLiteralDatatypeHandler.registerPatternDatatype(RDFPlainLiteralDatatypeHandler.java:53)
    at org.semanticweb.HermiT.datatypes.rdfplainliteral.RDFPlainLiteralDatatypeHandler.<clinit>(RDFPlainLiteralDatatypeHandler.java:45)
    at org.semanticweb.HermiT.datatypes.DatatypeRegistry.<clinit>(DatatypeRegistry.java:44)
    at org.semanticweb.HermiT.structural.OWLClausification$DataRangeConverter.visit(OWLClausification.java:744)
    at org.semanticweb.owlapi.model.OWLDatatype.accept(OWLDatatype.java:141)
    at org.semanticweb.HermiT.structural.OWLClausification$DataRangeConverter.convertDataRange(OWLClausification.java:730)
    at org.semanticweb.HermiT.structural.OWLClausification$NormalizedAxiomClausifier.visit(OWLClausification.java:574)
    at org.semanticweb.owlapi.model.OWLDataAllValuesFrom.accept(OWLDataAllValuesFrom.java:52)
    at org.semanticweb.HermiT.structural.OWLClausification.clausify(OWLClausification.java:162)
    at org.semanticweb.HermiT.structural.OWLClausification.preprocessAndClausify(OWLClausification.java:92)
    at org.semanticweb.HermiT.Reasoner.loadOntology(Reasoner.java:210)
    at org.semanticweb.HermiT.Reasoner.<init>(Reasoner.java:201)
    at org.semanticweb.HermiT.Reasoner.<init>(Reasoner.java:175)
    at org.semanticweb.HermiT.ReasonerFactory.createHermiTOWLReasoner(ReasonerFactory.java:51)
    at org.semanticweb.HermiT.ReasonerFactory.createReasoner(ReasonerFactory.java:19)
    at org.semanticweb.HermiT.ReasonerFactory.createReasoner(ReasonerFactory.java:15)
    at Main.main(Main.java:40)
Caused by: java.lang.ClassNotFoundException: dk.brics.automaton.BasicAutomata
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 18 more
线程“main”java.lang.NoClassDefFoundError中出现异常:dk/brics/automaton/BasicAutomata 位于org.semanticweb.HermiT.datatypes.rdfplainliteral.RDFPlainLiteralPatternValueSpaceSubset。(RDFPlainLiteralPatternValueSpaceSubset.java:49) 位于org.semanticweb.HermiT.datatypes.rdfplainliteral.RDFPlainLiteralDatatypeHandler.registerPatternDatatype(RDFPlainLiteralDatatypeHandler.java:53) 位于org.semanticweb.HermiT.datatypes.rdfplainliteral.RDFPlainLiteralDatatypeHandler.(RDFPlainLiteralDatatypeHandler.java:45) 位于org.semanticweb.HermiT.datatypes.DatatypeRegistry.(DatatypeRegistry.java:44) 位于org.semanticweb.HermiT.structural.owlclausionization$DataRangeConverter.visit(owlclausionization.java:744) 位于org.semanticweb.owlapi.model.OWLDatatype.accept(OWLDatatype.java:141) 位于org.semanticweb.HermiT.structural.owlclausionization$DataRangeConverter.convertDataRange(owlclausionization.java:730) 访问org.semanticweb.HermiT.structural.owlclausionization$NormalizedAxiomClausifier.visit(owlclausionization.java:574) 位于org.semanticweb.owlapi.model.OWLDataAllValuesFrom.accept(OWLDataAllValuesFrom.java:52) 位于org.semanticweb.HermiT.structural.owlclausionization.clausify(owlclausionization.java:162) 位于org.semanticweb.HermiT.structural.owlclausionization.preprocessandclusionization(owlclausionization.java:92) 位于org.semanticweb.HermiT.Reasoner.loadOntology(Reasoner.java:210) 位于org.semanticweb.HermiT.Reasoner(Reasoner.java:201) 位于org.semanticweb.HermiT.Reasoner(Reasoner.java:175) 位于org.semanticweb.HermiT.ReasonerFactory.createHermiTOWLReasoner(ReasonerFactory.java:51) 位于org.semanticweb.HermiT.ReasonerFactory.createReasoner(ReasonerFactory.java:19) 位于org.semanticweb.HermiT.ReasonerFactory.createReasoner(ReasonerFactory.java:15) Main.Main(Main.java:40) 原因:java.lang.ClassNotFoundException:dk.brics.automaton.BasicAutomata 位于java.net.URLClassLoader.findClass(未知源) 位于java.lang.ClassLoader.loadClass(未知源) 位于sun.misc.Launcher$AppClassLoader.loadClass(未知源) 位于java.lang.ClassLoader.loadClass(未知源) ... 还有18个
我注意到这个问题是由于我在本体中使用的数据属性造成的。(当我删除所有数据属性时,它会工作,但当我添加它们时,错误再次出现)

您应该在项目中的pom.xml中添加依赖项:

第一: 将以下依赖项添加到项目中的pom.xml中

<dependency>
    <groupId>dk.brics.automaton</groupId>
    <artifactId>automaton</artifactId>
    <version>1.11-8</version>
</dependency>

dk.brics.automaton
自动机
1.11-8
第二: 在项目的根目录中执行
mvn包