我正在开发一个GXT项目,而我正在使用GXT UiBinder。我正在使用ant
进行编译。目标devmode
正常工作,没有错误,我能够看到我的应用程序在浏览器中运行。但是使用目标build
我收到以下错误:
[ERROR] Errors in 'jar:file:/home/webbtra/dev/rail_gxt/gxt-2.2.3/gxt.jar!/com/extjs/gxt/ui/client/data/BeanModelLookup.java'
[ERROR] Internal compiler error
java.lang.IncompatibleClassChangeError: Found class com.google.gwt.core.ext.typeinfo.JClassType, but interface was expected
我正在使用这些版本,我读过它们应该兼容:
如果从模块文件中删除<inherits name="com.jhickman.web.gwt.gxtuibinder.GxtUiBinder" />
并仅使用GWT组件,则编译将起作用。但同样,奇怪的是它在devmode
中工作正常。任何帮助表示赞赏。
-tjw
答案 0 :(得分:1)
想出来。尽管GXT 2.2.3 声明与GWT 2.2兼容,但事实并非如此。我又回到了GXT 2.2.1和GWT 2.0.4,它运行得很好。
答案 1 :(得分:1)
我刚收到你发布的完全相同的错误信息(即使不使用GxtUiBinder!),但我不小心将我的GWT SDK设置为2.1.1(在Eclipse中)。我正在使用“gxt-2.2.3-gwt22.jar”,所以这显然不起作用。
将GWT SDK切换到2.2.0解决了这个问题。看来,GXT 2.2.3 + GWT 2.2.0可以很好地协同工作。
如果您想再次尝试,请确保您不仅要更改GWT库,还要切换GWT SDK。 (例如在Eclipse中:项目&gt;属性&gt; Google&gt; Web工具包&gt;使用特定的SDK )
答案 2 :(得分:1)
我设法将它们编译在一起(gwt 2.2 + GXT 2.2.3),但GWT Designer(Window Builder也)在解析代码时开始抛出异常。没有GXT - 一切都很好。因为设计师的错误,我被迫降级GWT。