好的,我还没有在GWT中经验丰富,这是一个错误,自从我开始使用GWT以来它一直困扰着我,它只是不停地来去。
我在Spring使用Arcbees GWTP Framework。我的代码非常简单。我有简单的POJO就好了
public class EmailTask implements Serializable{
private static final long serialVersionUID = 2395809310736629787L;
private Integer publisherId;
private String targetPublisherId;
public Integer getPublisherId() {
return publisherId;
}
public void setPublisherId(Integer publisherId) {
this.publisherId = publisherId;
}
public String getTargetPublisherId() {
return targetPublisherId;
}
public void setTargetPublisherId(String targetPublisherId) {
this.targetPublisherId = targetPublisherId;
}
}
在我的Presenter类中,我使用对这样的控制器的异步调用传递了这个POJO的实例。
@Inject TaskServiceAsync taskServiceAsync;
private void myTask(){
taskServiceAsync.executeTask(emailTaskInstance, new AsyncCallback<String>() {
@Override
public void onSuccess(String result) {
Window.alert("Success");
}
@Override
public void onFailure(Throwable caught) {
Window.alert("Failure!");
}
});
}
控制器:
@Controller
@RequestMapping("/task")
public class TaskController extends BaseRemoteService implements TaskService {
private static final long serialVersionUID = -325150527276255072L;
@Override
public String executeTask(EmailTask emailTask) {
//TODO: Doing something here
}
}
正如你所看到的,没有什么太华丽了。但是我在编译时收到以下错误。
[INFO] --- gwt-maven-plugin:2.7.0:compile (default) @ statistics ---
[INFO] Compiling module de.it2media.dps.statistics.DPSStatistics
[INFO] Ignored 8 units 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] [WARN] Class de.it2media.dps.statistics.server.jobs.EmailTask is used in Gin, but not available in GWT client code.
[INFO] [ERROR] Error injecting de.it2media.dps.statistics.client.application.settings.SettingsPresenter$MyProxy: Unable to create or inherit binding: No @Inject or default constructor found for de.it2media.dps.statistics.client.application.settings.SettingsPresenter$MyProxy
原谅我的单纯抱怨,但我不知道我在这里做错了什么。我以前写过类似的代码并且它运行得很好。有人可以解释错误Class is used in Gin, but not available in GWT client code
甚至意味着什么吗?我是否必须以某种方式在某处自动装配?
答案 0 :(得分:1)
首先,您应该将运行配置的GWT中的logLevel设置为TRACE
。
使用TRACE会显示类名和行号的错误。
消息告诉你,班级de.it2media.dps.statistics.server.jobs.EmailTask
由GIN(客户端)使用,但不是源代码的一部分,它将由GWT编译。
将EmailTask
类放在共享包中,消息应该消失。