12
// ...some imports

public class Menu {
    final MenuMaker myClass = GWT.create(MenuMaker.class);  // ERROR

私の ...gwt.xml:

...
<generate-with class="com.gwt.rebind.MenuGenerator">
  <when-type-assignable class="com.gwt.client.MenuMaker" />
</generate-with>
...

DevMode でコンパイルを実行するとすべてが完全に機能しますが、「GWT コンパイラでプロジェクトをビルドする」と次のエラーが発生します。

      [ERROR] Line 15:  Failed to resolve 'com.gwt.client.MenuMaker' via deferred binding
   Scanning for additional dependencies: jar:file:/C:/eclipse/plugins/com.google.gwt.eclipse.sdkbundle_2.4.0.v201208080121-rel-r42/gwt-2.4.0/gwt-user.jar!/com/google/gwt/dom/client/DOMImpl.java
      [WARN] For the following type(s), generated source was never committed (did you forget to call commit()?)
         [WARN] com.gwt.client.MenuMakerGen
   [ERROR] Cannot proceed due to previous errors

com.gwt.rebind.MenuGenerator の末尾:

sourceWriter.commit(logger);

私は助けが必要です。

4

5 に答える 5

10

すべてのクライアント クラスにデフォルトのゼロ パラメータ コンストラクタがあるかどうかを確認します。同じ「遅延バインディング」の問題があり、クラスの 1 つにデフォルトのコンストラクターがないことが判明しました。このクラスは GWT コンパイラ ログにも記載されていなかったので、奇妙でした。

于 2013-12-03T00:20:10.737 に答える