2012-03-26 10 views
4

毎回! 3つのモジュールに分割された私のGWTアプリケーションにコンパイルの問題があります。 App-core:エントリポイントのないメインクラスを含む App-AとApp-B:App-coreから継承し、各サブモジュールにエントリポイントを持つ特定のクラスがあります。GWTPアプリケーションでのGINバインディングの問題

私はすべてのモジュール内のクラスのインスタンスを注入するGINを使用しています:

のApp-コアで

のApp-Aで
public interface App-coreGinjector extends Ginjector { 
EventBus getEventBus(); 
Provider<LoginPagePresenter> getLoginPagePresenter(); 
... 
} 

App-coreModule extends AbstractPresenterModule { 

protected void configureCore() { 
    install(new DefaultModule(App-corePlaceManager.class)); 
    bindConstant().annotatedWith(DefaultPlace.class).to(LoginPagePresenter.NAME_TOKEN); 
    ... 
    bind(AuthenticationManager.class).to(AuthenticationManagerImpl.class); 
    bindPresenter(LoginPagePresenter.class, LoginPagePresenter.MyView.class, 
        LoginPageView.class, LoginPagePresenter.MyProxy.class); 
} 

@GinModules({ App-AModule.class }) 
public interface App-AGinjector extends App-coreGinjector { 

MyApp-AScreen getMyApp-AScreen(); 
... 
} 

public class App-AModule extends App-coreModule { 

@Override 
protected void configure() { 

    configureCore(); 
      ... 
      //Here we bind the App-A classes inheriting from App-core classes 
      bind(App-coreScreenManager.class).to(App-AcreenManager.class).in(Singleton.class); 
      ... 
      //Here we bind the specific App=A classes 
    } 

そして、我々は同じやりますApp-B内のもの

App-Aではmavenのコンパイルは成功しますが、App-Bでは失敗します。このm essage:

[ERROR] Errors in 'C:\workspace\App-core\client\gin\App-coreGinjectorImpl.java' 
[ERROR] Line 790: Rebind result 'com.gwtplatform.mvp.client.proxy.PlaceManager' must be a class 
[ERROR] Line 818: Rebind result 'lu.sfeir.grh.client.authentication.AuthenticationManager' must be a class 
[ERROR] Line 1047: Rebind result 'lu.sfeir.grh.client.login.LoginPagePresenter.MyView' must be a class 
[ERROR] Line 2359: Rebind result 'com.google.gwt.event.shared.EventBus' cannot be abstract 
[ERROR] Cannot proceed due to previous errors 

とても奇妙部INTこのすべては、このエラーは、これら2つのサブモジュール間の共有モジュールから来たということである魔女がLoginPagePresenterとAuthentificationManagerの結合であるが、私たちはただ一つで、このコンパイルエラーを持っていますサブモジュール。 誰かがこの問題の王様を持っていたら、私は彼の貴重な助けを待っているよ^^

ああ!もしあなたがいくつかの精度を望むなら、恥ずかしがり屋ではない! GWTP 0.7で

+0

いくつかの質問(これはすべてのことなく、厳しいですGWTPにはたくさんのファイルがあります)、EventBusのために何をインポートしていますか?com.google.gwt.event.shared.EventBusですか?また、PlaceManager実装はPlaceManagerImplをサブクラス化する必要があります。コードをまとめることができれば、これを並べ替えることができるはずです。間違ってしまうことがたくさんあります。どこから探し始めたらいいのか分かりません。私がこれにアプローチする方法は、EventBusとPlaceManager以外のすべてをまず削除し、 –

答えて

2

と、すべてのEventBusインスタンスが

com.google.gwt.event.shared.EventBus; 
    to 
    com.google.web.bindery.event.shared.EventBus 

から変更されているあなたはGWTP 0.6を使用している場合は、戻ってそれらを変更する必要が...

関連する問題