SmartDataAnalytics / DL-Learner

A tool for supervised Machine Learning in OWL and Description Logics
http://dl-learner.org
GNU General Public License v3.0
152 stars 34 forks source link

NoClassDefFoundError for javax/xml/bind/DatatypeConverter #69

Closed patrickwestphal closed 4 years ago

patrickwestphal commented 5 years ago

Seems we have an issue with the javax.xml.bind:jaxb-api which might be related to this StackOverflow post. The stack trace reported for an examples/family/father.conf-like setup is this:

java.lang.RuntimeException: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'lp': Unsatisfied dependency expressed through method 'setReasoner' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'reasoner': Initialization of bean failed; nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
            at org.dllearner.configuration.spring.DefaultApplicationContextBuilder.buildApplicationContext(DefaultApplicationContextBuilder.java:62)
            at org.dllearner.cli.CLI.main(CLI.java:214)

Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'lp': Unsatisfied dependency expressed through method 'setReasoner' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'reasoner': Initialization of bean failed; nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
            at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredMethodElement.inject(AutowiredAnnotationBeanPostProcessor.java:648)
            at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88)
            at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:349)
            at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1219)
            at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:543)
            at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
            at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
            at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
            at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
            at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
            at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:751)
            at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:861)
            at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:541)
            at org.dllearner.configuration.spring.DefaultApplicationContextBuilder.buildApplicationContext(DefaultApplicationContextBuilder.java:60)
            ... 1 more

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'reasoner': Initialization of bean failed; nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
            at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:553)
            at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
            at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
            at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
            at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
            at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
            at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:207)
            at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1128)
            at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1056)
            at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredMethodElement.inject(AutowiredAnnotationBeanPostProcessor.java:640)
            ... 14 more

Caused by: java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
            at com.clarkparsia.pellet.datatypes.types.real.XSDDecimal.getCanonicalRepresentation(XSDDecimal.java:71)
            at com.clarkparsia.pellet.datatypes.DatatypeReasonerImpl.getCanonicalRepresentation(DatatypeReasonerImpl.java:365)
            at org.mindswap.pellet.ABox.createLiteral(ABox.java:1746)
            at org.mindswap.pellet.ABox.addLiteral(ABox.java:1725)
            at org.mindswap.pellet.KnowledgeBase.addPropertyValue(KnowledgeBase.java:1002)
            at com.clarkparsia.pellet.owlapiv3.PelletVisitor.visit(PelletVisitor.java:1277)
            at uk.ac.manchester.cs.owl.owlapi.OWLDataPropertyAssertionAxiomImpl.accept(OWLDataPropertyAssertionAxiomImpl.java:124)
            at com.clarkparsia.pellet.owlapiv3.PelletVisitor.visit(PelletVisitor.java:837)
            at uk.ac.manchester.cs.owl.owlapi.OWLImmutableOntologyImpl.accept(OWLImmutableOntologyImpl.java:850)
            at uk.ac.manchester.cs.owl.owlapi.concurrent.ConcurrentOWLOntologyImpl.accept(ConcurrentOWLOntologyImpl.java:396)
            at com.clarkparsia.pellet.owlapiv3.PelletReasoner.refresh(PelletReasoner.java:956)
            at com.clarkparsia.pellet.owlapiv3.PelletReasoner.<init>(PelletReasoner.java:334)
            at com.clarkparsia.pellet.owlapiv3.PelletReasonerFactory.createNonBufferingReasoner(PelletReasonerFactory.java:82)
            at com.clarkparsia.pellet.owlapiv3.PelletReasonerFactory.createNonBufferingReasoner(PelletReasonerFactory.java:32)
            at org.dllearner.reasoning.OWLAPIReasoner.initBaseReasoner(OWLAPIReasoner.java:330)
            at org.dllearner.reasoning.OWLAPIReasoner.init(OWLAPIReasoner.java:198)
            at org.dllearner.reasoning.ClosedWorldReasoner.init(ClosedWorldReasoner.java:216)
            at org.dllearner.configuration.spring.ComponentInitializationBeanPostProcessor.postProcessBeforeInitialization(ComponentInitializationBeanPostProcessor.java:35)
            at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:408)
            at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1575)
            at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545)
            ... 23 more

Caused by: java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter
            at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
            at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
            at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
            ... 44 more
SimonBin commented 5 years ago

@patrickwestphal is this fixed?