我正在尝试使用 TDB.CreateDataBase 创建一个数据库。
但我得到一个我无法发现的错误。我把堆栈跟踪放在下面。不幸的是,有一些 Guice 涉及可能使其难以捕捉。但是我已经很好地隔离了它,这确实是 TDB 的一个问题。
java.lang.NoSuchMethodError: com.hp.hpl.jena.sparql.mgt.SystemInfo.<init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
at ch.usi.ict.dev.ois.interactionKB.InteractionKB.<init>(InteractionKB.java:200)
while locating ch.usi.ict.dev.ois.interactionKB.InteractionKB
1 error
at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1009)
at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1035)
at ch.usi.ict.dev.ois.osinfrastructure.OISInfrastructureService.start(OISInfrastructureService.java:138)
at ch.usi.ict.dev.ois.osinfrastructure.OISInfrastructureService.run(OISInfrastructureService.java:112)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.NoSuchMethodError: com.hp.hpl.jena.sparql.mgt.SystemInfo.<init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
at com.hp.hpl.jena.tdb.TDB.initialization2(TDB.java:269)
at com.hp.hpl.jena.tdb.TDB.<clinit>(TDB.java:264)
at com.hp.hpl.jena.tdb.setup.DatasetBuilderStd.<clinit>(DatasetBuilderStd.java:51)
at com.hp.hpl.jena.tdb.StoreConnection.make(StoreConnection.java:227)
at com.hp.hpl.jena.tdb.transaction.DatasetGraphTransaction.<init>(DatasetGraphTransaction.java:75)
at com.hp.hpl.jena.tdb.sys.TDBMaker._create(TDBMaker.java:57)
at com.hp.hpl.jena.tdb.sys.TDBMaker.createDatasetGraphTransaction(TDBMaker.java:45)
at com.hp.hpl.jena.tdb.TDBFactory._createDatasetGraph(TDBFactory.java:104)
at com.hp.hpl.jena.tdb.TDBFactory.createDatasetGraph(TDBFactory.java:73)
at com.hp.hpl.jena.tdb.TDBFactory.createDataset(TDBFactory.java:52)
at com.hp.hpl.jena.tdb.TDBFactory.createDataset(TDBFactory.java:48)
at ch.usi.ict.dev.ois.interactionKB.TripleStoreServiceIml.<init>(TripleStoreService.scala:61)
at ch.usi.ict.dev.ois.interactionKB.TripleStoreServiceIml$$FastClassByGuice$$f4f79dc3.newInstance(<generated>)
at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)
at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:61)
at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:108)
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:88)
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:279)
at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:1000)
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1053)
at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:996)
at com.google.inject.assistedinject.FactoryProvider2.invoke(FactoryProvider2.java:665)
at com.sun.proxy.$Proxy7.createTripleStoreService(Unknown Source)
at ch.usi.ict.dev.ois.interactionKB.InteractionKB.<init>(InteractionKB.java:278)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
at com.google.inject.internal.DefaultConstructionProxyFactory$2.newInstance(DefaultConstructionProxyFactory.java:86)
at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:108)
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:88)
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:279)
at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:1000)
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1046)
at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:996)