【发布时间】:2012-12-11 14:05:58
【问题描述】:
// ...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);
我需要帮助。
【问题讨论】:
-
您可能错过了在 GWT 编译器的构建路径中包含具有 com.gwt.client.MenuMaker 的 jar。还要检查 com.gwt.client.*gwt.xml 是否到位(不被任何过滤器排除)。
-
MenuMaker 是我的课。我不知道延迟绑定需要哪些库,但在开发模式下都可以正常工作。你说的是什么过滤器?
-
如果使用 Maven,
.xml文件应放在与.java文件相同的包(文件夹路径)中的src/main/resources中。如果使用 Ant,请确保将 .xml添加到您的类路径中。如果使用支持 m2e 的 Eclipse,有时构建路径会忽略.xml,如果它被放置在src/main/resources,...通过项目的首选项修改项目的构建路径。