有人能帮我解决问题吗?
我正在从GWT 2.5.1升级到2.6.1,并且在尝试运行项目的代码服务器时出现以下错误...
[INFO] Compiling module <SOME_MODULE>
[INFO] Validating units:
[INFO] Ignored 1 unit with compilation errors in first pass.
[INFO] Compile with -strict or with -logLevel set to TRACE or DEBUG to see all errors.
[INFO] Computing all possible rebind results for 'com.gwtplatform.mvp.client.DesktopGinjector'
[INFO] Rebinding com.gwtplatform.mvp.client.DesktopGinjector
[INFO] Invoking generator com.google.gwt.inject.rebind.GinjectorGenerator
[INFO] [ERROR] Error injecting com.gwtplatform.mvp.client.proxy.PlaceManager: Unable to create or inherit binding: No @Inject or default constructor found for com.gwtplatform.mvp.client.proxy.PlaceManager
[INFO] Path to required node:
[INFO]
[INFO] com.gwtplatform.mvp.client.proxy.PlaceManager [com.gwtplatform.mvp.client.ClientGinjector#getPlaceManager()]
[INFO]
[...etc.]
似乎GIN延迟绑定引擎试图在接口上寻找构造函数,这当然不存在。
任何建议将不胜感激。我正在使用Maven。 http://mojo.codehaus.org/gwt-maven-plugin/
皮特
[编辑:] 此特定错误是从Gin模块配置中删除此行的结果:
install(new DefaultModule(DefaultPlaceManager.class));
该行被删除以尝试追踪类似的错误。当我知道更多时,会发布一个更好的正式答案。
答案 0 :(得分:2)
如问题末尾所述,错误是由于从模块配置中删除了一条重要的行。但是,我试图修复的原始错误完全相同,所以我的解决方案可能仍然有用......
对我来说,由于泛型,代码不是GWT编译。问题是代码在IDE中编译得很好,但是GWT编译error message gets suppressed,剩下的就是编译错误的单位&#39;。
我以前找到的步骤是:
答案 1 :(得分:1)
我相信你需要以某种方式绑定你的场所经理。
尝试将以下行添加到模块类中。
bind(PlaceManager.class).to(DefaultPlaceManager.class).in(Singleton.class);
答案 2 :(得分:0)
在我的情况下,问题是我在我的View
类中使用了错误的HashMap实现,如下所示:
Map<String, String> map = new HashMap<String, String>();
问题在于导入的类。
我导入了正确的Map
界面但错误的HashMap
类
进口就像:
import java.util.Map;
import com.google.gwt.dev.util.collect.HashMap;
我用以下内容替换了HashMap,它起作用了:)
import java.util.HashMap;