Bonjour,
alors j'ai projet GWT qui marchait bien et du cout j'ai voulu inclure l'injecteur de dépendance GIN et là j'ai une erreur que je n'arrive pas à comprendre. ça fait deux jour que je cherche sur internet mais j'arrive pas à trouver la solution. 
Voici la structure de mon projet:
AppController.java
	
	| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 
 |  
package com.diallo.chabeka.bibliotheque.client;
 
import net.customware.gwt.dispatch.client.DispatchAsync;
 
import com.diallo.chabeka.bibliotheque.client.widgets.myWidgetPresenter.MainWidgetPresenter;
import com.google.gwt.user.client.ui.HasWidgets;
import com.google.inject.Inject;
 
public class AppController {
 
	private HasWidgets container;
	MainWidgetPresenter mainWidgetPresenter;
 
	@Inject
	public AppController(DispatchAsync dispatcher, 
			             MainWidgetPresenter mainWidgetPresenter) {
 
		this.mainWidgetPresenter= mainWidgetPresenter;
	}
 
	private void showMain() {
		container.clear();
		container.add(mainWidgetPresenter.getDisplay().asWidget());
	}
 
	public void go(final HasWidgets container) {
		this.container = container;
		showMain();
	}
 
} | 
 Mon EntryPoint:
	
	| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 
 |  
package com.diallo.chabeka.bibliotheque.client;
 
import com.diallo.chabeka.bibliotheque.client.gin.Injector;
import com.diallo.chabeka.bibliotheque.client.widgets.myWidgetPresenter.MainWidgetPresenter;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.ui.RootPanel;
 
public  class AppliBibliotheque implements EntryPoint {
 
	public void onModuleLoad() {
 
		final Injector ginjector = GWT.create(Injector.class);		
		final AppController app = ginjector.getAppController();
		RootPanel panel = RootPanel.get();
        app.go(panel);
 
	}
 
} | 
  injecteur de dépendances Gin
	
	| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 
 |  
package com.diallo.chabeka.bibliotheque.client.gin;
 
import net.customware.gwt.presenter.client.EventBus;
import net.customware.gwt.presenter.client.place.PlaceManager;
 
import com.diallo.chabeka.bibliotheque.client.AppController;
import com.diallo.chabeka.bibliotheque.client.widgets.myWidgetPresenter.MainWidgetPresenter;
import com.google.gwt.inject.client.GinModules;
import com.google.gwt.inject.client.Ginjector;
@GinModules(Module.class)
public interface Injector extends Ginjector {
 
	AppController getAppController();
 
    MainWidgetPresenter getMainWidgetPresenter();
 
	EventBus getEventBus();
 
	PlaceManager getPlaceManager();
} | 
  module configuration du binding Gin
	
	| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 
 |  
ackage com.diallo.chabeka.bibliotheque.client.gin;
 
import net.customware.gwt.presenter.client.DefaultEventBus;
import net.customware.gwt.presenter.client.EventBus;
import net.customware.gwt.presenter.client.gin.AbstractPresenterModule;
import net.customware.gwt.presenter.client.place.PlaceManager;
 
import com.diallo.chabeka.bibliotheque.client.AppController;
import com.diallo.chabeka.bibliotheque.client.presenters.AccueilPresenter;
import com.diallo.chabeka.bibliotheque.client.views.Accueil;
import com.diallo.chabeka.bibliotheque.client.widgets.MainWidget;
import com.diallo.chabeka.bibliotheque.client.widgets.myWidgetPresenter.MainWidgetPresenter;
import com.google.inject.Singleton;
 
public class Module extends AbstractPresenterModule {
 
	@Override
	protected void configure() {		bind(EventBus.class).to(DefaultEventBus.class).in(Singleton.class);
		bind(PlaceManager.class).in(Singleton.class);
        bind(AppController.class).in(Singleton.class);     bindPresenter(MainWidgetPresenter.class,MainWidgetPresenter.Display.class, MainWidget.class);
        bindPresenter(AccueilPresenter.class,AccueilPresenter.Display.class, Accueil.class);
	}
} | 
 fichier .gwt.xml
	
	| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 
 |  
<?xml version="1.0" encoding="UTF-8"?>
<module rename-to='applibibliotheque'>
	<!-- Inherit the core Web Toolkit stuff. -->
	<inherits name='com.google.gwt.user.User' />
 
	<!-- Inherit the default GWT style sheet. You can change -->
	<!-- the theme of your GWT application by uncommenting -->
	<!-- any one of the following lines. -->
 
 
	<inherits name='com.google.gwt.user.theme.clean.Clean' />
	<inherits name='com.google.gwt.user.theme.standard.Standard' />
	<inherits name='com.google.gwt.user.User' />
	<inherits name='com.google.gwt.inject.Inject' />
	<inherits name='org.enunes.gwt.mvp.Mvp' />
 	<inherits name='net.customware.gwt.dispatch.Dispatch' />
	<inherits name='net.customware.gwt.presenter.Presenter' /> 
 
 
	<!-- <inherits name='com.google.gwt.user.theme.chrome.Chrome'/> -->
	<!-- <inherits name='com.google.gwt.user.theme.dark.Dark'/> -->
 
	<!-- Other module inherits -->
 
	<!-- Specify the app entry point class. -->
 
 
	<entry-point class='com.diallo.chabeka.bibliotheque.client.AppliBibliotheque' />
 
	<!-- Specify the paths for translatable code -->
 
	<source path='client' />
	<source path='shared' />
 
</module> | 
 et voici mon erreur:
[ERROR] [applibibliotheque] - Failed to create an instance of 'com.diallo.chabeka.bibliotheque.client.AppliBibliotheque' via deferred binding 
[ERROR] [applibibliotheque] - Unable to load module entry point class com.diallo.chabeka.bibliotheque.client.AppliBibliotheque (see associated exception for details)
[ERROR] [applibibliotheque] - Failed to load module 'applibibliotheque' from user agent 'Mozilla/5.0 (Windows NT 6.1; rv:16.0) Gecko/20100101 Firefox/16.0' at 127.0.0.1:54729
sur le navigateur web firefox ça m'affiche cette erreur:
EntryPoint initialization exception
Exception while loading module com.diallo.chabeka.bibliotheque.client.AppliBibliotheque. See Development Mode for details.
com.google.gwt.core.ext.UnableToCompleteException: (see previous log entries) at com.google.gwt.dev.shell.ModuleSpace.rebindAndCreate(ModuleSpace.java:503) 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) 
L'erreur se trouve apparemment sur cette ligne qui se trouve dans mon entryPoint
	
	final Injector ginjector = GWT.create(Injector.class);
  un extrait de la console
java.lang.RuntimeException: Deferred binding failed for 'com.diallo.chabeka.bibliotheque.client.gin.Injector' (did you forget to inherit a required module?)
    at com.google.gwt.dev.shell.GWTBridgeImpl.create(GWTBridgeImpl.java:53)
    at com.google.gwt.core.client.GWT.create(GWT.java:97)
    at com.diallo.chabeka.bibliotheque.client.AppliBibliotheque.<init>(AppliBibliotheque.java:21)
..........
..........
Quelqu'un aurait-il une idée sur l'erreur
Merci de votre aide
						
					
Partager