使用 Gin 编译时遇到问题
我正在使用 Gin 1.5 和 GWT 2.4 在添加 Gin 之前该项目构建得很好,但现在不行:
[ERROR] [foo] - Generator 'com.google.gwt.inject.rebind.GinjectorGenerator' threw an exception while rebinding 'com.foo.html.client.FooGinjector'
错误是:
20:58:04.252 [ERROR] [foo] Generator 'com.google.gwt.inject.rebind.GinjectorGenerator' threw an exception while rebinding 'com.foo.html.client.FooGinjector'
com.google.inject.internal.ComputationException: java.lang.NoClassDefFoundError: com/google/inject/assistedinject/Assisted
at com.google.inject.internal.MapMaker$StrategyImpl.compute(MapMaker.java:553)
at com.google.inject.internal.MapMaker$StrategyImpl.compute(MapMaker.java:419)
at com.google.inject.internal.CustomConcurrentHashMap$ComputingImpl.get(CustomConcurrentHashMap.java:2041)
at com.google.inject.internal.FailableCache.get(FailableCache.java:46)
at com.google.inject.internal.ConstructorInjectorStore.get(ConstructorInjectorStore.java:48)
at com.google.inject.internal.ConstructorBindingImpl.initialize(ConstructorBindingImpl.java:121)
at com.google.inject.internal.InjectorImpl.initializeJitBinding(InjectorImpl.java:443)
at com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:698)
at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:630)
at com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:223)
at com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:174)
at com.google.inject.internal.InjectorImpl.getInternalFactory(InjectorImpl.java:704)
at com.google.inject.internal.FactoryProxy.notify(FactoryProxy.java:45)
at com.google.inject.internal.BindingProcessor.runCreationListeners(BindingProcessor.java:238)
at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:143)
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:116)
at com.google.inject.InjectorBuilder.build(InjectorBuilder.java:101)
at com.google.inject.Guice.createInjector(Guice.java:105)
at com.google.inject.Guice.createInjector(Guice.java:90)
at com.google.gwt.inject.rebind.GinjectorGenerator.generate(GinjectorGenerator.java:47)
at com.google.gwt.core.ext.GeneratorExtWrapper.generate(GeneratorExtWrapper.java:48)
at com.google.gwt.core.ext.GeneratorExtWrapper.generateIncrementally(GeneratorExtWrapper.java:60)
at com.google.gwt.dev.javac.StandardGeneratorContext.runGeneratorIncrementally(StandardGeneratorContext.java:647)
at com.google.gwt.dev.cfg.RuleGenerateWith.realize(RuleGenerateWith.java:41)
at com.google.gwt.dev.shell.StandardRebindOracle$Rebinder.rebind(StandardRebindOracle.java:78)
at com.google.gwt.dev.shell.StandardRebindOracle.rebind(StandardRebindOracle.java:268)
at com.google.gwt.dev.shell.ShellModuleSpaceHost.rebind(ShellModuleSpaceHost.java:141)
at com.google.gwt.dev.shell.ModuleSpace.rebind(ModuleSpace.java:585)
at com.google.gwt.dev.shell.ModuleSpace.rebindAndCreate(ModuleSpace.java:455)
at com.google.gwt.dev.shell.GWTBridgeImpl.create(GWTBridgeImpl.java:49)
at com.google.gwt.core.client.GWT.create(GWT.java:97)
at com.foo.html.client.FooGameHtml.<init>(FooGameHtml.java:39)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.google.gwt.dev.shell.ModuleSpace.rebindAndCreate(ModuleSpace.java:465)
at com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:375)
at com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:200)
at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:525)
at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:363)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NoClassDefFoundError: com/google/inject/assistedinject/Assisted
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
at java.lang.Class.getDeclaredConstructors(Unknown Source)
at com.google.inject.spi.InjectionPoint.forConstructorOf(InjectionPoint.java:232)
at com.google.inject.internal.ConstructorBindingImpl.create(ConstructorBindingImpl.java:92)
at com.google.inject.internal.InjectorImpl.createUninitializedBinding(InjectorImpl.java:489)
at com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:696)
at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:630)
at com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:223)
at com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:174)
at com.google.inject.internal.InjectorImpl.createProviderBinding(InjectorImpl.java:281)
at com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:662)
at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:630)
at com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:223)
at com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:174)
at com.google.inject.internal.InjectorImpl.getInternalFactory(InjectorImpl.java:704)
at com.google.inject.internal.InjectorImpl.createParameterInjector(InjectorImpl.java:772)
at com.google.inject.internal.InjectorImpl.getParametersInjectors(InjectorImpl.java:760)
at com.google.inject.internal.ConstructorInjectorStore.createConstructor(ConstructorInjectorStore.java:55)
at com.google.inject.internal.ConstructorInjectorStore.access$000(ConstructorInjectorStore.java:27)
at com.google.inject.internal.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:35)
at com.google.inject.internal.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:33)
at com.google.inject.internal.FailableCache$1.apply(FailableCache.java:35)
at com.google.inject.internal.MapMaker$StrategyImpl.compute(MapMaker.java:549)
at com.google.inject.internal.MapMaker$StrategyImpl.compute(MapMaker.java:419)
at com.google.inject.internal.CustomConcurrentHashMap$ComputingImpl.get(CustomConcurrentHashMap.java:2041)
at com.google.inject.internal.FailableCache.get(FailableCache.java:46)
at com.google.inject.internal.ConstructorInjectorStore.get(ConstructorInjectorStore.java:48)
at com.google.inject.internal.ConstructorBindingImpl.initialize(ConstructorBindingImpl.java:121)
at com.google.inject.internal.InjectorImpl.initializeJitBinding(InjectorImpl.java:443)
at com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:698)
at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:630)
at com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:223)
at com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:174)
at com.google.inject.internal.InjectorImpl.getInternalFactory(InjectorImpl.java:704)
at com.google.inject.internal.FactoryProxy.notify(FactoryProxy.java:45)
at com.google.inject.internal.BindingProcessor.runCreationListeners(BindingProcessor.java:238)
at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:143)
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:116)
at com.google.inject.InjectorBuilder.build(InjectorBuilder.java:101)
at com.google.inject.Guice.createInjector(Guice.java:105)
at com.google.inject.Guice.createInjector(Guice.java:90)
at com.google.gwt.inject.rebind.GinjectorGenerator.generate(GinjectorGenerator.java:47)
at com.google.gwt.core.ext.GeneratorExtWrapper.generate(GeneratorExtWrapper.java:48)
at com.google.gwt.core.ext.GeneratorExtWrapper.generateIncrementally(GeneratorExtWrapper.java:60)
at com.google.gwt.dev.javac.StandardGeneratorContext.runGeneratorIncrementally(StandardGeneratorContext.java:647)
at com.google.gwt.dev.cfg.RuleGenerateWith.realize(RuleGenerateWith.java:41)
at com.google.gwt.dev.shell.StandardRebindOracle$Rebinder.rebind(StandardRebindOracle.java:78)
at com.google.gwt.dev.shell.StandardRebindOracle.rebind(StandardRebindOracle.java:268)
at com.google.gwt.dev.shell.ShellModuleSpaceHost.rebind(ShellModuleSpaceHost.java:141)
at com.google.gwt.dev.shell.ModuleSpace.rebind(ModuleSpace.java:585)
at com.google.gwt.dev.shell.ModuleSpace.rebindAndCreate(ModuleSpace.java:455)
at com.google.gwt.dev.shell.GWTBridgeImpl.create(GWTBridgeImpl.java:49)
at com.google.gwt.core.client.GWT.create(GWT.java:97)
at com.foo.html.client.FooGameHtml.<init>(FooGameHtml.java:39)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.google.gwt.dev.shell.ModuleSpace.rebindAndCreate(ModuleSpace.java:465)
at com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:375)
at com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:200)
at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:525)
at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:363)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: com.google.inject.assistedinject.Assisted
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
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)
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
at java.lang.Class.getDeclaredConstructors(Unknown Source)
at com.google.inject.spi.InjectionPoint.forConstructorOf(InjectionPoint.java:232)
at com.google.inject.internal.ConstructorBindingImpl.create(ConstructorBindingImpl.java:92)
at com.google.inject.internal.InjectorImpl.createUninitializedBinding(InjectorImpl.java:489)
at com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:696)
at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:630)
at com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:223)
at com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:174)
at com.google.inject.internal.InjectorImpl.createProviderBinding(InjectorImpl.java:281)
at com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:662)
at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:630)
at com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:223)
at com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:174)
at com.google.inject.internal.InjectorImpl.getInternalFactory(InjectorImpl.java:704)
at com.google.inject.internal.InjectorImpl.createParameterInjector(InjectorImpl.java:772)
at com.google.inject.internal.InjectorImpl.getParametersInjectors(InjectorImpl.java:760)
at com.google.inject.internal.ConstructorInjectorStore.createConstructor(ConstructorInjectorStore.java:55)
at com.google.inject.internal.ConstructorInjectorStore.access$000(ConstructorInjectorStore.java:27)
at com.google.inject.internal.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:35)
at com.google.inject.internal.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:33)
at com.google.inject.internal.FailableCache$1.apply(FailableCache.java:35)
at com.google.inject.internal.MapMaker$StrategyImpl.compute(MapMaker.java:549)
at com.google.inject.internal.MapMaker$StrategyImpl.compute(MapMaker.java:419)
at com.google.inject.internal.CustomConcurrentHashMap$ComputingImpl.get(CustomConcurrentHashMap.java:2041)
at com.google.inject.internal.FailableCache.get(FailableCache.java:46)
at com.google.inject.internal.ConstructorInjectorStore.get(ConstructorInjectorStore.java:48)
at com.google.inject.internal.ConstructorBindingImpl.initialize(ConstructorBindingImpl.java:121)
at com.google.inject.internal.InjectorImpl.initializeJitBinding(InjectorImpl.java:443)
at com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:698)
at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:630)
at com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:223)
at com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:174)
at com.google.inject.internal.InjectorImpl.getInternalFactory(InjectorImpl.java:704)
at com.google.inject.internal.FactoryProxy.notify(FactoryProxy.java:45)
at com.google.inject.internal.BindingProcessor.runCreationListeners(BindingProcessor.java:238)
at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:143)
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:116)
at com.google.inject.InjectorBuilder.build(InjectorBuilder.java:101)
at com.google.inject.Guice.createInjector(Guice.java:105)
at com.google.inject.Guice.createInjector(Guice.java:90)
at com.google.gwt.inject.rebind.GinjectorGenerator.generate(GinjectorGenerator.java:47)
at com.google.gwt.core.ext.GeneratorExtWrapper.generate(GeneratorExtWrapper.java:48)
at com.google.gwt.core.ext.GeneratorExtWrapper.generateIncrementally(GeneratorExtWrapper.java:60)
at com.google.gwt.dev.javac.StandardGeneratorContext.runGeneratorIncrementally(StandardGeneratorContext.java:647)
at com.google.gwt.dev.cfg.RuleGenerateWith.realize(RuleGenerateWith.java:41)
at com.google.gwt.dev.shell.StandardRebindOracle$Rebinder.rebind(StandardRebindOracle.java:78)
at com.google.gwt.dev.shell.StandardRebindOracle.rebind(StandardRebindOracle.java:268)
at com.google.gwt.dev.shell.ShellModuleSpaceHost.rebind(ShellModuleSpaceHost.java:141)
at com.google.gwt.dev.shell.ModuleSpace.rebind(ModuleSpace.java:585)
at com.google.gwt.dev.shell.ModuleSpace.rebindAndCreate(ModuleSpace.java:455)
at com.google.gwt.dev.shell.GWTBridgeImpl.create(GWTBridgeImpl.java:49)
at com.google.gwt.core.client.GWT.create(GWT.java:97)
at com.foo.html.client.FooGameHtml.<init>(FooGameHtml.java:39)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.google.gwt.dev.shell.ModuleSpace.rebindAndCreate(ModuleSpace.java:465)
at com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:375)
at com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:200)
at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:525)
at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:363)
at java.lang.Thread.run(Unknown Source)
我做错了什么?我的类路径上按顺序有 guice-assistanceinject-snapshot.jar 和 guice-snapshot.jar 。
导致错误的行位于我的入口点类中:
private final FooGinjector injector = GWT.create(FooGinjector.class);
FooGinjector.java:
@GinModules(FooGinModule.class)
public interface FooGinjector extends Ginjector {
EventBus eventBus();
PlaceHistoryHandler historyHandler();
}
I'm using Gin 1.5 and GWT 2.4 The project built just fine before I added Gin, but now it doesn't:
[ERROR] [foo] - Generator 'com.google.gwt.inject.rebind.GinjectorGenerator' threw an exception while rebinding 'com.foo.html.client.FooGinjector'
The error is:
20:58:04.252 [ERROR] [foo] Generator 'com.google.gwt.inject.rebind.GinjectorGenerator' threw an exception while rebinding 'com.foo.html.client.FooGinjector'
com.google.inject.internal.ComputationException: java.lang.NoClassDefFoundError: com/google/inject/assistedinject/Assisted
at com.google.inject.internal.MapMaker$StrategyImpl.compute(MapMaker.java:553)
at com.google.inject.internal.MapMaker$StrategyImpl.compute(MapMaker.java:419)
at com.google.inject.internal.CustomConcurrentHashMap$ComputingImpl.get(CustomConcurrentHashMap.java:2041)
at com.google.inject.internal.FailableCache.get(FailableCache.java:46)
at com.google.inject.internal.ConstructorInjectorStore.get(ConstructorInjectorStore.java:48)
at com.google.inject.internal.ConstructorBindingImpl.initialize(ConstructorBindingImpl.java:121)
at com.google.inject.internal.InjectorImpl.initializeJitBinding(InjectorImpl.java:443)
at com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:698)
at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:630)
at com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:223)
at com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:174)
at com.google.inject.internal.InjectorImpl.getInternalFactory(InjectorImpl.java:704)
at com.google.inject.internal.FactoryProxy.notify(FactoryProxy.java:45)
at com.google.inject.internal.BindingProcessor.runCreationListeners(BindingProcessor.java:238)
at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:143)
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:116)
at com.google.inject.InjectorBuilder.build(InjectorBuilder.java:101)
at com.google.inject.Guice.createInjector(Guice.java:105)
at com.google.inject.Guice.createInjector(Guice.java:90)
at com.google.gwt.inject.rebind.GinjectorGenerator.generate(GinjectorGenerator.java:47)
at com.google.gwt.core.ext.GeneratorExtWrapper.generate(GeneratorExtWrapper.java:48)
at com.google.gwt.core.ext.GeneratorExtWrapper.generateIncrementally(GeneratorExtWrapper.java:60)
at com.google.gwt.dev.javac.StandardGeneratorContext.runGeneratorIncrementally(StandardGeneratorContext.java:647)
at com.google.gwt.dev.cfg.RuleGenerateWith.realize(RuleGenerateWith.java:41)
at com.google.gwt.dev.shell.StandardRebindOracle$Rebinder.rebind(StandardRebindOracle.java:78)
at com.google.gwt.dev.shell.StandardRebindOracle.rebind(StandardRebindOracle.java:268)
at com.google.gwt.dev.shell.ShellModuleSpaceHost.rebind(ShellModuleSpaceHost.java:141)
at com.google.gwt.dev.shell.ModuleSpace.rebind(ModuleSpace.java:585)
at com.google.gwt.dev.shell.ModuleSpace.rebindAndCreate(ModuleSpace.java:455)
at com.google.gwt.dev.shell.GWTBridgeImpl.create(GWTBridgeImpl.java:49)
at com.google.gwt.core.client.GWT.create(GWT.java:97)
at com.foo.html.client.FooGameHtml.<init>(FooGameHtml.java:39)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.google.gwt.dev.shell.ModuleSpace.rebindAndCreate(ModuleSpace.java:465)
at com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:375)
at com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:200)
at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:525)
at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:363)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NoClassDefFoundError: com/google/inject/assistedinject/Assisted
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
at java.lang.Class.getDeclaredConstructors(Unknown Source)
at com.google.inject.spi.InjectionPoint.forConstructorOf(InjectionPoint.java:232)
at com.google.inject.internal.ConstructorBindingImpl.create(ConstructorBindingImpl.java:92)
at com.google.inject.internal.InjectorImpl.createUninitializedBinding(InjectorImpl.java:489)
at com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:696)
at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:630)
at com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:223)
at com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:174)
at com.google.inject.internal.InjectorImpl.createProviderBinding(InjectorImpl.java:281)
at com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:662)
at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:630)
at com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:223)
at com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:174)
at com.google.inject.internal.InjectorImpl.getInternalFactory(InjectorImpl.java:704)
at com.google.inject.internal.InjectorImpl.createParameterInjector(InjectorImpl.java:772)
at com.google.inject.internal.InjectorImpl.getParametersInjectors(InjectorImpl.java:760)
at com.google.inject.internal.ConstructorInjectorStore.createConstructor(ConstructorInjectorStore.java:55)
at com.google.inject.internal.ConstructorInjectorStore.access$000(ConstructorInjectorStore.java:27)
at com.google.inject.internal.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:35)
at com.google.inject.internal.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:33)
at com.google.inject.internal.FailableCache$1.apply(FailableCache.java:35)
at com.google.inject.internal.MapMaker$StrategyImpl.compute(MapMaker.java:549)
at com.google.inject.internal.MapMaker$StrategyImpl.compute(MapMaker.java:419)
at com.google.inject.internal.CustomConcurrentHashMap$ComputingImpl.get(CustomConcurrentHashMap.java:2041)
at com.google.inject.internal.FailableCache.get(FailableCache.java:46)
at com.google.inject.internal.ConstructorInjectorStore.get(ConstructorInjectorStore.java:48)
at com.google.inject.internal.ConstructorBindingImpl.initialize(ConstructorBindingImpl.java:121)
at com.google.inject.internal.InjectorImpl.initializeJitBinding(InjectorImpl.java:443)
at com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:698)
at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:630)
at com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:223)
at com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:174)
at com.google.inject.internal.InjectorImpl.getInternalFactory(InjectorImpl.java:704)
at com.google.inject.internal.FactoryProxy.notify(FactoryProxy.java:45)
at com.google.inject.internal.BindingProcessor.runCreationListeners(BindingProcessor.java:238)
at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:143)
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:116)
at com.google.inject.InjectorBuilder.build(InjectorBuilder.java:101)
at com.google.inject.Guice.createInjector(Guice.java:105)
at com.google.inject.Guice.createInjector(Guice.java:90)
at com.google.gwt.inject.rebind.GinjectorGenerator.generate(GinjectorGenerator.java:47)
at com.google.gwt.core.ext.GeneratorExtWrapper.generate(GeneratorExtWrapper.java:48)
at com.google.gwt.core.ext.GeneratorExtWrapper.generateIncrementally(GeneratorExtWrapper.java:60)
at com.google.gwt.dev.javac.StandardGeneratorContext.runGeneratorIncrementally(StandardGeneratorContext.java:647)
at com.google.gwt.dev.cfg.RuleGenerateWith.realize(RuleGenerateWith.java:41)
at com.google.gwt.dev.shell.StandardRebindOracle$Rebinder.rebind(StandardRebindOracle.java:78)
at com.google.gwt.dev.shell.StandardRebindOracle.rebind(StandardRebindOracle.java:268)
at com.google.gwt.dev.shell.ShellModuleSpaceHost.rebind(ShellModuleSpaceHost.java:141)
at com.google.gwt.dev.shell.ModuleSpace.rebind(ModuleSpace.java:585)
at com.google.gwt.dev.shell.ModuleSpace.rebindAndCreate(ModuleSpace.java:455)
at com.google.gwt.dev.shell.GWTBridgeImpl.create(GWTBridgeImpl.java:49)
at com.google.gwt.core.client.GWT.create(GWT.java:97)
at com.foo.html.client.FooGameHtml.<init>(FooGameHtml.java:39)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.google.gwt.dev.shell.ModuleSpace.rebindAndCreate(ModuleSpace.java:465)
at com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:375)
at com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:200)
at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:525)
at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:363)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: com.google.inject.assistedinject.Assisted
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
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)
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
at java.lang.Class.getDeclaredConstructors(Unknown Source)
at com.google.inject.spi.InjectionPoint.forConstructorOf(InjectionPoint.java:232)
at com.google.inject.internal.ConstructorBindingImpl.create(ConstructorBindingImpl.java:92)
at com.google.inject.internal.InjectorImpl.createUninitializedBinding(InjectorImpl.java:489)
at com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:696)
at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:630)
at com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:223)
at com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:174)
at com.google.inject.internal.InjectorImpl.createProviderBinding(InjectorImpl.java:281)
at com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:662)
at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:630)
at com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:223)
at com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:174)
at com.google.inject.internal.InjectorImpl.getInternalFactory(InjectorImpl.java:704)
at com.google.inject.internal.InjectorImpl.createParameterInjector(InjectorImpl.java:772)
at com.google.inject.internal.InjectorImpl.getParametersInjectors(InjectorImpl.java:760)
at com.google.inject.internal.ConstructorInjectorStore.createConstructor(ConstructorInjectorStore.java:55)
at com.google.inject.internal.ConstructorInjectorStore.access$000(ConstructorInjectorStore.java:27)
at com.google.inject.internal.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:35)
at com.google.inject.internal.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:33)
at com.google.inject.internal.FailableCache$1.apply(FailableCache.java:35)
at com.google.inject.internal.MapMaker$StrategyImpl.compute(MapMaker.java:549)
at com.google.inject.internal.MapMaker$StrategyImpl.compute(MapMaker.java:419)
at com.google.inject.internal.CustomConcurrentHashMap$ComputingImpl.get(CustomConcurrentHashMap.java:2041)
at com.google.inject.internal.FailableCache.get(FailableCache.java:46)
at com.google.inject.internal.ConstructorInjectorStore.get(ConstructorInjectorStore.java:48)
at com.google.inject.internal.ConstructorBindingImpl.initialize(ConstructorBindingImpl.java:121)
at com.google.inject.internal.InjectorImpl.initializeJitBinding(InjectorImpl.java:443)
at com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:698)
at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:630)
at com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:223)
at com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:174)
at com.google.inject.internal.InjectorImpl.getInternalFactory(InjectorImpl.java:704)
at com.google.inject.internal.FactoryProxy.notify(FactoryProxy.java:45)
at com.google.inject.internal.BindingProcessor.runCreationListeners(BindingProcessor.java:238)
at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:143)
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:116)
at com.google.inject.InjectorBuilder.build(InjectorBuilder.java:101)
at com.google.inject.Guice.createInjector(Guice.java:105)
at com.google.inject.Guice.createInjector(Guice.java:90)
at com.google.gwt.inject.rebind.GinjectorGenerator.generate(GinjectorGenerator.java:47)
at com.google.gwt.core.ext.GeneratorExtWrapper.generate(GeneratorExtWrapper.java:48)
at com.google.gwt.core.ext.GeneratorExtWrapper.generateIncrementally(GeneratorExtWrapper.java:60)
at com.google.gwt.dev.javac.StandardGeneratorContext.runGeneratorIncrementally(StandardGeneratorContext.java:647)
at com.google.gwt.dev.cfg.RuleGenerateWith.realize(RuleGenerateWith.java:41)
at com.google.gwt.dev.shell.StandardRebindOracle$Rebinder.rebind(StandardRebindOracle.java:78)
at com.google.gwt.dev.shell.StandardRebindOracle.rebind(StandardRebindOracle.java:268)
at com.google.gwt.dev.shell.ShellModuleSpaceHost.rebind(ShellModuleSpaceHost.java:141)
at com.google.gwt.dev.shell.ModuleSpace.rebind(ModuleSpace.java:585)
at com.google.gwt.dev.shell.ModuleSpace.rebindAndCreate(ModuleSpace.java:455)
at com.google.gwt.dev.shell.GWTBridgeImpl.create(GWTBridgeImpl.java:49)
at com.google.gwt.core.client.GWT.create(GWT.java:97)
at com.foo.html.client.FooGameHtml.<init>(FooGameHtml.java:39)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.google.gwt.dev.shell.ModuleSpace.rebindAndCreate(ModuleSpace.java:465)
at com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:375)
at com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:200)
at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:525)
at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:363)
at java.lang.Thread.run(Unknown Source)
What am I doing wrong? I have guice-assistedinject-snapshot.jar
and guice-snapshot.jar
on my classpath, in that order.
The line that causes the error is in my entry point class is:
private final FooGinjector injector = GWT.create(FooGinjector.class);
FooGinjector.java:
@GinModules(FooGinModule.class)
public interface FooGinjector extends Ginjector {
EventBus eventBus();
PlaceHistoryHandler historyHandler();
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我将辅助注入罐子移到了类路径中其他杜松子酒罐子的上方,现在看起来工作正常。
I moved the assistedinject jar to be above the other gin jars in the classpath, and it appears to work fine now.
当我第一次看到这个时,我想到 gwt.xml 中缺少明显的模块继承,
因为您回答了自己的问题,所以我想我应该添加在转换为 GIN 时发现的其他内容。
我根据在网上找到的部分教程,将 HelloMVP 应用程序转换为 GIN。
我发现在“活动和活动”中添加了“如果您不熟悉 guice 语法,则 Places 会变得更加复杂。
如果您继续尝试使用地方运行代码,您将需要了解 GINModule 的配置方法中正确的绑定语法:
这让我困惑了一段时间,因为我不确定如何在这里声明单例。不知道你是否解决了这个问题。
When I first saw this I thought of the obvious module inherits was missing in the gwt.xml
Since you answered your own question, I thought I'd add in something else I found when converted over to GIN.
I converted the HelloMVP app over to GIN, based on a partial tutorial I found on the web.
What I've found is adding in Activities & Places is where it gets more complicated if you aren't familiar with the guice syntax.
If you go on and try to run your code with places, you will need to know the proper bind syntax in the configure method for your GINModule:
This one threw me for a while as I wasn't sure how to declare the singleton here. I don't know if you got past this issue or not.