0

プロジェクトを新しいコンピューターに 2.5RC セットアップから 2.5 セットアップに移動した後、このエラーを回避するためにプロジェクトを修正する方法を考えました。以前は機能していました。もちろんHtmlTemplates、2.5 のクライアント側ライブラリには存在しない可能性がありますが、私はそれについて気にしていません。UI を表示したいだけです。

11:24:08.060 [ERROR] [myapp] Failed to create an instance of 'org.myapp.client.UI' via deferred binding 

java.lang.RuntimeException: Deferred binding failed for 'org.myapp.client.UIDesktop$Binder' (did you forget to inherit a required module?)
at com.google.gwt.dev.shell.GWTBridgeImpl.create(GWTBridgeImpl.java:53)

...

Caused by: java.lang.NoClassDefFoundError: com/google/gwt/uibinder/rebind/model/HtmlTemplates
at com.google.gwt.uibinder.rebind.UiBinderWriter.<init>(UiBinderWriter.java:181)
at com.google.gwt.uibinder.rebind.UiBinderGenerator.generateOnce(UiBinderGenerator.java:188)

...

Caused by: java.lang.ClassNotFoundException: com.google.gwt.uibinder.rebind.model.HtmlTemplates
at java.net.URLClassLoader$1.run(Unknown Source)

2.5 .jars (2.5RC ではない) しかなく、.classpath はすべてそれらを指しているようです。生成された .js ファイルである gwt-Cache をクリアして、「Clean Project」を実行してみましたが、すべて役に立ちませんでした。

4

1 に答える 1

3

確かに 2.5 にはそのようなクラスはありませんが、最初の 2.5 RC よりずっと前に削除されました。2.3 と 2.4 にのみ存在しました。

クラスパスを再確認してください。2.4 または 2.3 の gwt-user.jar を参照している必要があります。それか、GWT 2.4または2.3に基づいて、いくつかのUiBinderクラスを独自の実装でシャドウするサードパーティライブラリを使用しています(IIRC、GWT-Platformはそのようなことを行いますGinUiBinder); クラスパスの依存関係の順序を変更し、サードパーティのライブラリの後に gwt-user をプッシュしたため、2.5RC から 2.5 へのアップグレード中にマニフェストが発生する可能性があります。

于 2013-02-02T12:35:34.453 に答える