运行 OWL API 5
Running OWL API 5
我正在尝试在 Android v8.0 (Oreo) 上使用 OWLAPI 5.1.0。但是,当我 运行 应用程序时,它在 OWLManager.createOWLOntologyManager() 处崩溃。
我已将以下 jar 添加到我的应用程序的 gradle.build(jar 文件的来源 - here):
implementation files('libs/aopalliance-1.0.jar')
implementation files('libs/caffeine-2.3.5.jar')
implementation files('libs/commons-codec-1.9.jar')
implementation files('libs/commons-io-2.5.jar')
implementation files('libs/commons-rdf-api-0.3.0-incubating.jar')
implementation files('libs/fluent-hc-4.5.2.jar')
implementation files('libs/guava-20.0.jar')
implementation files('libs/guice-4.1.0.jar')
implementation files('libs/guice-assistedinject-4.1.0.jar')
implementation files('libs/guice-multibindings-4.1.0.jar')
implementation files('libs/httpclient-4.5.2.jar')
implementation files('libs/httpclient-cache-4.5.2.jar')
implementation files('libs/httpcore-4.4.5.jar')
implementation files('libs/httpcore-nio-4.4.5.jar')
implementation files('libs/httpmime-4.5.2.jar')
implementation files('libs/jackson-annotations-2.8.5.jar')
implementation files('libs/jackson-core-2.8.5.jar')
implementation files('libs/jackson-databind-2.8.5.jar')
implementation files('libs/javax.inject-1.jar')
implementation files('libs/jcl-over-slf4j-1.7.22.jar')
implementation files('libs/jsonld-java-0.9.0.jar')
implementation files('libs/jsr305-3.0.1.jar')
implementation files('libs/owlapi-distribution-5.1.0.jar')
implementation files('libs/rdf4j-model-2.1.4.jar')
implementation files('libs/rdf4j-rio-api-2.1.4.jar')
implementation files('libs/rdf4j-rio-binary-2.1.4.jar')
implementation files('libs/rdf4j-rio-datatypes-2.1.4.jar')
implementation files('libs/rdf4j-rio-jsonld-2.1.4.jar')
implementation files('libs/rdf4j-rio-languages-2.1.4.jar')
implementation files('libs/rdf4j-rio-n3-2.1.4.jar')
implementation files('libs/rdf4j-rio-nquads-2.1.4.jar')
implementation files('libs/rdf4j-rio-ntriples-2.1.4.jar')
implementation files('libs/rdf4j-rio-rdfjson-2.1.4.jar')
implementation files('libs/rdf4j-rio-rdfxml-2.1.4.jar')
implementation files('libs/rdf4j-rio-trig-2.1.4.jar')
implementation files('libs/rdf4j-rio-trix-2.1.4.jar')
implementation files('libs/rdf4j-rio-turtle-2.1.4.jar')
implementation files('libs/rdf4j-util-2.1.4.jar')
implementation files('libs/slf4j-api-1.7.22.jar')
implementation files('libs/trove4j-3.0.3.jar')
implementation files('libs/xz-1.6.jar')
implementation files('libs/org.semanticweb.hermit-1.3.8.500.jar')
该应用正在构建中。但是在 运行ning 时,它崩溃并抛出以下错误:
java.lang.ExceptionInInitializerError
at com.google.inject.internal.cglib.core.$MethodWrapper.create(MethodWrapper.java:34)
at com.google.inject.internal.cglib.core.$DuplicatesPredicate.evaluate(DuplicatesPredicate.java:25)
at com.google.inject.internal.cglib.core.$CollectionUtils.filter(CollectionUtils.java:52)
at com.google.inject.internal.cglib.reflect.$FastClassEmitter.<init>(FastClassEmitter.java:69)
at com.google.inject.internal.cglib.reflect.$FastClass$Generator.generateClass(FastClass.java:77)
at com.google.inject.internal.cglib.core.$DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:25)
at com.google.inject.internal.cglib.core.$AbstractClassGenerator.create(AbstractClassGenerator.java:231)
at com.google.inject.internal.cglib.reflect.$FastClass$Generator.create(FastClass.java:65)
at com.google.inject.internal.BytecodeGen.newFastClassForMember(BytecodeGen.java:252)
at com.google.inject.internal.BytecodeGen.newFastClassForMember(BytecodeGen.java:203)
at com.google.inject.internal.ProviderMethod.create(ProviderMethod.java:69)
at com.google.inject.internal.ProviderMethodsModule.createProviderMethod(ProviderMethodsModule.java:275)
at com.google.inject.internal.ProviderMethodsModule.getProviderMethods(ProviderMethodsModule.java:144)
at com.google.inject.internal.ProviderMethodsModule.configure(ProviderMethodsModule.java:123)
at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:340)
at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:349)
at com.google.inject.spi.Elements.getElements(Elements.java:110)
at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:138)
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:104)
at com.google.inject.Guice.createInjector(Guice.java:99)
at com.google.inject.Guice.createInjector(Guice.java:73)
at com.google.inject.Guice.createInjector(Guice.java:62)
at org.semanticweb.owlapi.apibinding.OWLManager.createInjector(OWLManager.java:104)
at org.semanticweb.owlapi.apibinding.OWLManager.createOWLOntologyManager(OWLManager.java:44)
at com.example.newcalculator.OwlApiSecond.creatingOntology(OwlApiSecond.java:37)
at com.example.newcalculator.MainActivity.onClick(MainActivity.java:41)
at android.view.View.performClick(View.java:6256)
at android.view.View$PerformClick.run(View.java:24701)
at android.os.Handler.handleCallback(Handler.java:789)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6541)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
Caused by: com.google.inject.internal.cglib.core.$CodeGenerationException: java.lang.reflect.InvocationTargetException-->null
at com.google.inject.internal.cglib.core.$AbstractClassGenerator.create(AbstractClassGenerator.java:256)
at com.google.inject.internal.cglib.core.$KeyFactory$Generator.create(KeyFactory.java:149)
at com.google.inject.internal.cglib.core.$KeyFactory.create(KeyFactory.java:117)
at com.google.inject.internal.cglib.core.$KeyFactory.create(KeyFactory.java:109)
at com.google.inject.internal.cglib.core.$KeyFactory.create(KeyFactory.java:105)
at com.google.inject.internal.cglib.core.$MethodWrapper.<clinit>(MethodWrapper.java:23)
at com.google.inject.internal.cglib.core.$MethodWrapper.create(MethodWrapper.java:34)
at com.google.inject.internal.cglib.core.$DuplicatesPredicate.evaluate(DuplicatesPredicate.java:25)
at com.google.inject.internal.cglib.core.$CollectionUtils.filter(CollectionUtils.java:52)
at com.google.inject.internal.cglib.reflect.$FastClassEmitter.<init>(FastClassEmitter.java:69)
at com.google.inject.internal.cglib.reflect.$FastClass$Generator.generateClass(FastClass.java:77)
at com.google.inject.internal.cglib.core.$DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:25)
at com.google.inject.internal.cglib.core.$AbstractClassGenerator.create(AbstractClassGenerator.java:231)
at com.google.inject.internal.cglib.reflect.$FastClass$Generator.create(FastClass.java:65)
at com.google.inject.internal.BytecodeGen.newFastClassForMember(BytecodeGen.java:252)
at com.google.inject.internal.BytecodeGen.newFastClassForMember(BytecodeGen.java:203)
at com.google.inject.internal.ProviderMethod.create(ProviderMethod.java:69)
at com.google.inject.internal.ProviderMethodsModule.createProviderMethod(ProviderMethodsModule.java:275)
at com.google.inject.internal.ProviderMethodsModule.getProviderMethods(ProviderMethodsModule.java:144)
at com.google.inject.internal.ProviderMethodsModule.configure(ProviderMethodsModule.java:123)
at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:340)
at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:349)
at com.google.inject.spi.Elements.getElements(Elements.java:110)
at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:138)
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:104)
at com.google.inject.Guice.createInjector(Guice.java:99)
at com.google.inject.Guice.createInjector(Guice.java:73)
at com.google.inject.Guice.createInjector(Guice.java:62)
at org.semanticweb.owlapi.apibinding.OWLManager.createInjector(OWLManager.java:104)
at org.semanticweb.owlapi.apibinding.OWLManager.createOWLOntologyManager(OWLManager.java:44)
at com.example.newcalculator.OwlApiSecond.creatingOntology(OwlApiSecond.java:37)
at com.example.newcalculator.MainActivity.onClick(MainActivity.java:41)
at android.view.View.performClick(View.java:6256)
at android.view.View$PerformClick.run(View.java:24701)
at android.os.Handler.handleCallback(Handler.java:789)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6541)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invoke(Native Method)
at com.google.inject.internal.cglib.core.$ReflectUtils.defineClass(ReflectUtils.java:395)
at com.google.inject.internal.cglib.core.$ReflectUtils.defineClass(ReflectUtils.java:390)
at com.google.inject.internal.cglib.core.$AbstractClassGenerator.create(AbstractClassGenerator.java:235)
at com.google.inject.internal.cglib.core.$KeyFactory$Generator.create(KeyFactory.java:149)
at com.google.inject.internal.cglib.core.$KeyFactory.create(KeyFactory.java:117)
at com.google.inject.internal.cglib.core.$KeyFactory.create(KeyFactory.java:109)
at com.google.inject.internal.cglib.core.$KeyFactory.create(KeyFactory.java:105)
at com.google.inject.internal.cglib.core.$MethodWrapper.<clinit>(MethodWrapper.java:23)
at com.google.inject.internal.cglib.core.$MethodWrapper.create(MethodWrapper.java:34)
at com.google.inject.internal.cglib.core.$DuplicatesPredicate.evaluate(DuplicatesPredicate.java:25)
at com.google.inject.internal.cglib.core.$CollectionUtils.filter(CollectionUtils.java:52)
at com.google.inject.internal.cglib.reflect.$FastClassEmitter.<init>(FastClassEmitter.java:69)
at com.google.inject.internal.cglib.reflect.$FastClass$Generator.generateClass(FastClass.java:77)
at com.google.inject.internal.cglib.core.$DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:25)
at com.google.inject.internal.cglib.core.$AbstractClassGenerator.create(AbstractClassGenerator.java:231)
at com.google.inject.internal.cglib.reflect.$FastClass$Generator.create(FastClass.java:65)
at com.google.inject.internal.BytecodeGen.newFastClassForMember(BytecodeGen.java:252)
at com.google.inject.internal.BytecodeGen.newFastClassForMember(BytecodeGen.java:203)
at com.google.inject.internal.ProviderMethod.create(ProviderMethod.java:69)
at com.google.inject.internal.ProviderMethodsModule.createProviderMethod(ProviderMethodsModule.java:275)
at com.google.inject.internal.ProviderMethodsModule.getProviderMethods(ProviderMethodsModule.java:144)
at com.google.inject.internal.ProviderMethodsModule.configure(ProviderMethodsModule.java:123)
at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:340)
at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:349)
at com.google.inject.spi.Elements.getElements(Elements.java:110)
at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:138)
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:104)
at com.google.inject.Guice.createInjector(Guice.java:99)
at com.google.inject.Guice.createInjector(Guice.java:73)
at com.google.inject.Guice.createInjector(Guice.java:62)
at org.semanticweb.owlapi.apibinding.OWLManager.createInjector(OWLManager.java:104)
at org.semanticweb.owlapi.apibinding.OWLManager.createOWLOntologyManager(OWLManager.java:44)
at com.example.newcalculator.OwlApiSecond.creatingOntology(OwlApiSecond.java:37)
at com.example.newcalculator.MainActivity.onClick(MainActivity.java:41)
at android.view.View.performClick(View.java:6256)
at android.view.View$PerformClick.run(View.java:24701)
at android.os.Handler.handleCallback(Handler.java:789)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6541)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
E/AndroidRuntime: Caused by: java.lang.UnsupportedOperationException: can't load this type of class file
at java.lang.ClassLoader.defineClass(ClassLoader.java:591)
... 44 more
我想知道如何解决这个错误。我不确定到底是什么原因造成的。
任何帮助,将不胜感激。提前谢谢你。
堆栈跟踪没有提到哪个 class 无法加载,因此很难判断问题是在 Guice 中还是在 OWL-API.
但是,OWLAPI 5.1.0 已经相当老了。 5.1.10 和 HermiT 1.4.3.517 现已上市。我建议更新到这些版本。
可能与您的情况相关的一项更改是 OWLAPI 的最新版本不再使用 Guice。我没有在 Android 上测试它们,但值得一试,看看这里的问题是否完全在 Guice 中。
我正在尝试在 Android v8.0 (Oreo) 上使用 OWLAPI 5.1.0。但是,当我 运行 应用程序时,它在 OWLManager.createOWLOntologyManager() 处崩溃。 我已将以下 jar 添加到我的应用程序的 gradle.build(jar 文件的来源 - here):
implementation files('libs/aopalliance-1.0.jar')
implementation files('libs/caffeine-2.3.5.jar')
implementation files('libs/commons-codec-1.9.jar')
implementation files('libs/commons-io-2.5.jar')
implementation files('libs/commons-rdf-api-0.3.0-incubating.jar')
implementation files('libs/fluent-hc-4.5.2.jar')
implementation files('libs/guava-20.0.jar')
implementation files('libs/guice-4.1.0.jar')
implementation files('libs/guice-assistedinject-4.1.0.jar')
implementation files('libs/guice-multibindings-4.1.0.jar')
implementation files('libs/httpclient-4.5.2.jar')
implementation files('libs/httpclient-cache-4.5.2.jar')
implementation files('libs/httpcore-4.4.5.jar')
implementation files('libs/httpcore-nio-4.4.5.jar')
implementation files('libs/httpmime-4.5.2.jar')
implementation files('libs/jackson-annotations-2.8.5.jar')
implementation files('libs/jackson-core-2.8.5.jar')
implementation files('libs/jackson-databind-2.8.5.jar')
implementation files('libs/javax.inject-1.jar')
implementation files('libs/jcl-over-slf4j-1.7.22.jar')
implementation files('libs/jsonld-java-0.9.0.jar')
implementation files('libs/jsr305-3.0.1.jar')
implementation files('libs/owlapi-distribution-5.1.0.jar')
implementation files('libs/rdf4j-model-2.1.4.jar')
implementation files('libs/rdf4j-rio-api-2.1.4.jar')
implementation files('libs/rdf4j-rio-binary-2.1.4.jar')
implementation files('libs/rdf4j-rio-datatypes-2.1.4.jar')
implementation files('libs/rdf4j-rio-jsonld-2.1.4.jar')
implementation files('libs/rdf4j-rio-languages-2.1.4.jar')
implementation files('libs/rdf4j-rio-n3-2.1.4.jar')
implementation files('libs/rdf4j-rio-nquads-2.1.4.jar')
implementation files('libs/rdf4j-rio-ntriples-2.1.4.jar')
implementation files('libs/rdf4j-rio-rdfjson-2.1.4.jar')
implementation files('libs/rdf4j-rio-rdfxml-2.1.4.jar')
implementation files('libs/rdf4j-rio-trig-2.1.4.jar')
implementation files('libs/rdf4j-rio-trix-2.1.4.jar')
implementation files('libs/rdf4j-rio-turtle-2.1.4.jar')
implementation files('libs/rdf4j-util-2.1.4.jar')
implementation files('libs/slf4j-api-1.7.22.jar')
implementation files('libs/trove4j-3.0.3.jar')
implementation files('libs/xz-1.6.jar')
implementation files('libs/org.semanticweb.hermit-1.3.8.500.jar')
该应用正在构建中。但是在 运行ning 时,它崩溃并抛出以下错误:
java.lang.ExceptionInInitializerError
at com.google.inject.internal.cglib.core.$MethodWrapper.create(MethodWrapper.java:34)
at com.google.inject.internal.cglib.core.$DuplicatesPredicate.evaluate(DuplicatesPredicate.java:25)
at com.google.inject.internal.cglib.core.$CollectionUtils.filter(CollectionUtils.java:52)
at com.google.inject.internal.cglib.reflect.$FastClassEmitter.<init>(FastClassEmitter.java:69)
at com.google.inject.internal.cglib.reflect.$FastClass$Generator.generateClass(FastClass.java:77)
at com.google.inject.internal.cglib.core.$DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:25)
at com.google.inject.internal.cglib.core.$AbstractClassGenerator.create(AbstractClassGenerator.java:231)
at com.google.inject.internal.cglib.reflect.$FastClass$Generator.create(FastClass.java:65)
at com.google.inject.internal.BytecodeGen.newFastClassForMember(BytecodeGen.java:252)
at com.google.inject.internal.BytecodeGen.newFastClassForMember(BytecodeGen.java:203)
at com.google.inject.internal.ProviderMethod.create(ProviderMethod.java:69)
at com.google.inject.internal.ProviderMethodsModule.createProviderMethod(ProviderMethodsModule.java:275)
at com.google.inject.internal.ProviderMethodsModule.getProviderMethods(ProviderMethodsModule.java:144)
at com.google.inject.internal.ProviderMethodsModule.configure(ProviderMethodsModule.java:123)
at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:340)
at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:349)
at com.google.inject.spi.Elements.getElements(Elements.java:110)
at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:138)
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:104)
at com.google.inject.Guice.createInjector(Guice.java:99)
at com.google.inject.Guice.createInjector(Guice.java:73)
at com.google.inject.Guice.createInjector(Guice.java:62)
at org.semanticweb.owlapi.apibinding.OWLManager.createInjector(OWLManager.java:104)
at org.semanticweb.owlapi.apibinding.OWLManager.createOWLOntologyManager(OWLManager.java:44)
at com.example.newcalculator.OwlApiSecond.creatingOntology(OwlApiSecond.java:37)
at com.example.newcalculator.MainActivity.onClick(MainActivity.java:41)
at android.view.View.performClick(View.java:6256)
at android.view.View$PerformClick.run(View.java:24701)
at android.os.Handler.handleCallback(Handler.java:789)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6541)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
Caused by: com.google.inject.internal.cglib.core.$CodeGenerationException: java.lang.reflect.InvocationTargetException-->null
at com.google.inject.internal.cglib.core.$AbstractClassGenerator.create(AbstractClassGenerator.java:256)
at com.google.inject.internal.cglib.core.$KeyFactory$Generator.create(KeyFactory.java:149)
at com.google.inject.internal.cglib.core.$KeyFactory.create(KeyFactory.java:117)
at com.google.inject.internal.cglib.core.$KeyFactory.create(KeyFactory.java:109)
at com.google.inject.internal.cglib.core.$KeyFactory.create(KeyFactory.java:105)
at com.google.inject.internal.cglib.core.$MethodWrapper.<clinit>(MethodWrapper.java:23)
at com.google.inject.internal.cglib.core.$MethodWrapper.create(MethodWrapper.java:34)
at com.google.inject.internal.cglib.core.$DuplicatesPredicate.evaluate(DuplicatesPredicate.java:25)
at com.google.inject.internal.cglib.core.$CollectionUtils.filter(CollectionUtils.java:52)
at com.google.inject.internal.cglib.reflect.$FastClassEmitter.<init>(FastClassEmitter.java:69)
at com.google.inject.internal.cglib.reflect.$FastClass$Generator.generateClass(FastClass.java:77)
at com.google.inject.internal.cglib.core.$DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:25)
at com.google.inject.internal.cglib.core.$AbstractClassGenerator.create(AbstractClassGenerator.java:231)
at com.google.inject.internal.cglib.reflect.$FastClass$Generator.create(FastClass.java:65)
at com.google.inject.internal.BytecodeGen.newFastClassForMember(BytecodeGen.java:252)
at com.google.inject.internal.BytecodeGen.newFastClassForMember(BytecodeGen.java:203)
at com.google.inject.internal.ProviderMethod.create(ProviderMethod.java:69)
at com.google.inject.internal.ProviderMethodsModule.createProviderMethod(ProviderMethodsModule.java:275)
at com.google.inject.internal.ProviderMethodsModule.getProviderMethods(ProviderMethodsModule.java:144)
at com.google.inject.internal.ProviderMethodsModule.configure(ProviderMethodsModule.java:123)
at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:340)
at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:349)
at com.google.inject.spi.Elements.getElements(Elements.java:110)
at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:138)
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:104)
at com.google.inject.Guice.createInjector(Guice.java:99)
at com.google.inject.Guice.createInjector(Guice.java:73)
at com.google.inject.Guice.createInjector(Guice.java:62)
at org.semanticweb.owlapi.apibinding.OWLManager.createInjector(OWLManager.java:104)
at org.semanticweb.owlapi.apibinding.OWLManager.createOWLOntologyManager(OWLManager.java:44)
at com.example.newcalculator.OwlApiSecond.creatingOntology(OwlApiSecond.java:37)
at com.example.newcalculator.MainActivity.onClick(MainActivity.java:41)
at android.view.View.performClick(View.java:6256)
at android.view.View$PerformClick.run(View.java:24701)
at android.os.Handler.handleCallback(Handler.java:789)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6541)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invoke(Native Method)
at com.google.inject.internal.cglib.core.$ReflectUtils.defineClass(ReflectUtils.java:395)
at com.google.inject.internal.cglib.core.$ReflectUtils.defineClass(ReflectUtils.java:390)
at com.google.inject.internal.cglib.core.$AbstractClassGenerator.create(AbstractClassGenerator.java:235)
at com.google.inject.internal.cglib.core.$KeyFactory$Generator.create(KeyFactory.java:149)
at com.google.inject.internal.cglib.core.$KeyFactory.create(KeyFactory.java:117)
at com.google.inject.internal.cglib.core.$KeyFactory.create(KeyFactory.java:109)
at com.google.inject.internal.cglib.core.$KeyFactory.create(KeyFactory.java:105)
at com.google.inject.internal.cglib.core.$MethodWrapper.<clinit>(MethodWrapper.java:23)
at com.google.inject.internal.cglib.core.$MethodWrapper.create(MethodWrapper.java:34)
at com.google.inject.internal.cglib.core.$DuplicatesPredicate.evaluate(DuplicatesPredicate.java:25)
at com.google.inject.internal.cglib.core.$CollectionUtils.filter(CollectionUtils.java:52)
at com.google.inject.internal.cglib.reflect.$FastClassEmitter.<init>(FastClassEmitter.java:69)
at com.google.inject.internal.cglib.reflect.$FastClass$Generator.generateClass(FastClass.java:77)
at com.google.inject.internal.cglib.core.$DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:25)
at com.google.inject.internal.cglib.core.$AbstractClassGenerator.create(AbstractClassGenerator.java:231)
at com.google.inject.internal.cglib.reflect.$FastClass$Generator.create(FastClass.java:65)
at com.google.inject.internal.BytecodeGen.newFastClassForMember(BytecodeGen.java:252)
at com.google.inject.internal.BytecodeGen.newFastClassForMember(BytecodeGen.java:203)
at com.google.inject.internal.ProviderMethod.create(ProviderMethod.java:69)
at com.google.inject.internal.ProviderMethodsModule.createProviderMethod(ProviderMethodsModule.java:275)
at com.google.inject.internal.ProviderMethodsModule.getProviderMethods(ProviderMethodsModule.java:144)
at com.google.inject.internal.ProviderMethodsModule.configure(ProviderMethodsModule.java:123)
at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:340)
at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:349)
at com.google.inject.spi.Elements.getElements(Elements.java:110)
at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:138)
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:104)
at com.google.inject.Guice.createInjector(Guice.java:99)
at com.google.inject.Guice.createInjector(Guice.java:73)
at com.google.inject.Guice.createInjector(Guice.java:62)
at org.semanticweb.owlapi.apibinding.OWLManager.createInjector(OWLManager.java:104)
at org.semanticweb.owlapi.apibinding.OWLManager.createOWLOntologyManager(OWLManager.java:44)
at com.example.newcalculator.OwlApiSecond.creatingOntology(OwlApiSecond.java:37)
at com.example.newcalculator.MainActivity.onClick(MainActivity.java:41)
at android.view.View.performClick(View.java:6256)
at android.view.View$PerformClick.run(View.java:24701)
at android.os.Handler.handleCallback(Handler.java:789)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6541)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
E/AndroidRuntime: Caused by: java.lang.UnsupportedOperationException: can't load this type of class file
at java.lang.ClassLoader.defineClass(ClassLoader.java:591)
... 44 more
我想知道如何解决这个错误。我不确定到底是什么原因造成的。 任何帮助,将不胜感激。提前谢谢你。
堆栈跟踪没有提到哪个 class 无法加载,因此很难判断问题是在 Guice 中还是在 OWL-API.
但是,OWLAPI 5.1.0 已经相当老了。 5.1.10 和 HermiT 1.4.3.517 现已上市。我建议更新到这些版本。
可能与您的情况相关的一项更改是 OWLAPI 的最新版本不再使用 Guice。我没有在 Android 上测试它们,但值得一试,看看这里的问题是否完全在 Guice 中。