0
我需要幫助才能讓給定的項目運行。該項目是:http://code.google.com/p/opennetinf/使用Guice的項目在Eclipse中運行,在終端上不需要
我按照文檔中的說明並使項目在Eclipse中運行。現在我想從終端運行這個項目。在項目啓動後的一段時間內,終端上會遇到一個很大的例外。 log4j輸出的第一行與eclipse控制檯中的輸出類似。 唯一的例外是:
Exception in thread "main" com.google.inject.ProvisionException: Guice provision errors:
1) Error in custom provider, java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at netinf.node.cache.peerside.PeersideCacheModule.provideNetworkCaches(PeersideCacheModule.java:64)
while locating java.util.List<netinf.node.cache.peerside.PeersideCache>
for parameter 0 at netinf.node.cache.CachingInterceptor.setPeersideCaches(CachingInterceptor.java:81)
while locating netinf.node.cache.CachingInterceptor
at netinf.node.module.StandardNodeModule.provideResolutionInterceptors(StandardNodeModule.java:125)
while locating netinf.node.resolution.ResolutionInterceptor[]
for parameter 0 at netinf.node.resolution.impl.ResolutionControllerImpl.initReslolutionInterceptors(ResolutionControllerImpl.java:442)
while locating netinf.node.resolution.impl.ResolutionControllerImpl
while locating netinf.node.resolution.ResolutionController
for parameter 0 at netinf.node.api.impl.NetInfNodeImpl.setResolutionController(NetInfNodeImpl.java:95)
while locating netinf.node.api.impl.NetInfNodeImpl
while locating netinf.node.api.NetInfNode
1 error
at com.google.inject.InjectorImpl$4.get(InjectorImpl.java:767)
at com.google.inject.InjectorImpl.getInstance(InjectorImpl.java:793)
at netinf.node.StarterNode.start(StarterNode.java:126)
at netinf.node.StarterNode.main(StarterNode.java:75)
Caused by: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:106)
at com.google.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:48)
at com.google.inject.SingleParameterInjector.inject(SingleParameterInjector.java:42)
at com.google.inject.SingleParameterInjector.getAll(SingleParameterInjector.java:66)
at com.google.inject.SingleMethodInjector.inject(SingleMethodInjector.java:84)
at com.google.inject.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:99)
at com.google.inject.ConstructorInjector.construct(ConstructorInjector.java:94)
at com.google.inject.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:111)
at com.google.inject.InjectorImpl$4$1.call(InjectorImpl.java:758)
at com.google.inject.InjectorImpl.callInContext(InjectorImpl.java:811)
at com.google.inject.InjectorImpl$4.get(InjectorImpl.java:754)
at com.google.inject.spi.ProviderLookup$1.get(ProviderLookup.java:89)
at com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:95)
at com.google.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:48)
at com.google.inject.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:45)
at com.google.inject.InjectorImpl.callInContext(InjectorImpl.java:811)
at com.google.inject.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:42)
at com.google.inject.Scopes$1$1.get(Scopes.java:54)
at com.google.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:48)
at com.google.inject.SingleParameterInjector.inject(SingleParameterInjector.java:42)
at com.google.inject.SingleParameterInjector.getAll(SingleParameterInjector.java:66)
at com.google.inject.SingleMethodInjector.inject(SingleMethodInjector.java:84)
at com.google.inject.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:99)
at com.google.inject.ConstructorInjector.construct(ConstructorInjector.java:94)
at com.google.inject.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:111)
at com.google.inject.FactoryProxy.get(FactoryProxy.java:56)
at com.google.inject.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:45)
at com.google.inject.InjectorImpl.callInContext(InjectorImpl.java:811)
at com.google.inject.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:42)
at com.google.inject.Scopes$1$1.get(Scopes.java:54)
at com.google.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:48)
at com.google.inject.SingleParameterInjector.inject(SingleParameterInjector.java:42)
at com.google.inject.SingleParameterInjector.getAll(SingleParameterInjector.java:66)
at com.google.inject.SingleMethodInjector.inject(SingleMethodInjector.java:84)
at com.google.inject.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:99)
at com.google.inject.ConstructorInjector.construct(ConstructorInjector.java:94)
at com.google.inject.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:111)
at com.google.inject.FactoryProxy.get(FactoryProxy.java:56)
at com.google.inject.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:45)
at com.google.inject.InjectorImpl.callInContext(InjectorImpl.java:811)
at com.google.inject.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:42)
at com.google.inject.Scopes$1$1.get(Scopes.java:54)
at com.google.inject.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:48)
at com.google.inject.InjectorImpl$4$1.call(InjectorImpl.java:758)
at com.google.inject.InjectorImpl.callInContext(InjectorImpl.java:804)
at com.google.inject.InjectorImpl$4.get(InjectorImpl.java:754)
... 3 more
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:101)
... 48 more
Caused by: java.lang.NoSuchMethodError: org.slf4j.helpers.MessageFormatter.arrayFormat(Ljava/lang/String;[Ljava/lang/Object;)Lorg/slf4j/helpers/FormattingTuple;
at org.slf4j.impl.JDK14LoggerAdapter.warn(JDK14LoggerAdapter.java:450)
at org.eclipse.jetty.util.log.Slf4jLog.warn(Slf4jLog.java:40)
at org.eclipse.jetty.util.log.Log.warn(Log.java:237)
at org.eclipse.jetty.util.component.AbstractLifeCycle.setFailed(AbstractLifeCycle.java:198)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at netinf.node.cache.peerside.PeersideAccessServer.start(PeersideAccessServer.java:64)
at netinf.node.cache.peerside.PeersideCache.<init>(PeersideCache.java:79)
at netinf.node.cache.peerside.PeersideCacheModule.provideNetworkCaches(PeersideCacheModule.java:77)
... 53 more
所以我做了什麼: 我通過Eclipse導出對話框導出的項目(出口 - >運行的JAR)。圖書館的處理是無關緊要的。對於三種方法中的每一種,我都會得到相同的異常。
所以我的問題是:這個異常告訴我什麼?我該如何解決這個問題?
嘿克里斯B這是關鍵。 lib目錄中有一箇舊的slf4j-jdk14-1.6.1.jar。我刪掉了。它現在可以工作。謝謝。 – hikhvar