Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当客户端代码中使用RequestContext接口时,GWT应用程序在运行时崩溃_Java_Gwt_Intellij Idea_Uibinder_Requestfactory - Fatal编程技术网

Java 当客户端代码中使用RequestContext接口时,GWT应用程序在运行时崩溃

Java 当客户端代码中使用RequestContext接口时,GWT应用程序在运行时崩溃,java,gwt,intellij-idea,uibinder,requestfactory,Java,Gwt,Intellij Idea,Uibinder,Requestfactory,我已经为这个问题争论了三天,我想StackOverflow是我最后的选择。我想不出它为什么不工作了:(我正在使用GWT2.4.0和JDK1.6 我正在经历并被GWT应用程序的崩溃所困扰。如果我在客户端代码中提到com.google.web.bindery.requestfactory.shared.RequestContext接口,该应用程序就会崩溃。我甚至没有使用它。我只是有一个未使用的方法,它将RequestContext作为参数。我尝试引用requestfactory-相同的异常。因此我怀

我已经为这个问题争论了三天,我想StackOverflow是我最后的选择。我想不出它为什么不工作了:(我正在使用GWT2.4.0和JDK1.6

我正在经历并被GWT应用程序的崩溃所困扰。如果我在客户端代码中提到com.google.web.bindery.requestfactory.shared.RequestContext接口,该应用程序就会崩溃。我甚至没有使用它。我只是有一个未使用的方法,它将RequestContext作为参数。我尝试引用requestfactory-相同的异常。因此我怀疑我缺少了一些与RequestFactory包相关的东西。我在GWT编译器中添加了-logLevel DEBUG,下面是我所拥有的:

DEBUG: Rebinding com.vsezavtra.courierApp.client.ManagerShell.ManagerShellUiBinder. 
  DEBUG: Checking rule <generate-with class='com.google.web.bindery.requestfactory.gwt.rebind.RequestFactoryGenerator'/>. 
    ERROR: Errors in 'jar:file:/C:/work/externals/gwt/gwt-user.jar!/com/google/web/bindery/requestfactory/shared/Receiver.java'. 
    ERROR: Unable to find type 'com.vsezavtra.courierApp.client.ManagerShell.ManagerShellUiBinder'. 
      ERROR: Line 26: The import javax.validation.ConstraintViolation cannot be resolved. 
      ERROR: Line 79: ConstraintViolation cannot be resolved to a type. 
      ERROR: Line 81: ConstraintViolation cannot be resolved to a type. 
      ERROR: Hint: Previous compiler errors may have made this type unavailable. 
      ERROR: Hint: Check the inheritance chain from your module; it may not be inheriting a required module or a module may not be adding its source path entries properly. 
ERROR: Deferred binding failed for 'com.vsezavtra.courierApp.client.ManagerShell.ManagerShellUiBinder'; expect subsequent failures. 
ERROR: Unable to load module entry point class com.vsezavtra.courierApp.client.courierApp (see associated exception for details). java.lang.RuntimeException: Deferred binding failed for 'com.vsezavtra.courierApp.client.ManagerShell$ManagerShellUiBinder' (did you forget to inherit a required module?)
    at com.google.gwt.dev.shell.GWTBridgeImpl.create(GWTBridgeImpl.java:53)
    at com.google.gwt.core.client.GWT.create(GWT.java:97)
    at com.vsezavtra.courierApp.client.ManagerShell.<clinit>(ManagerShell.java:15)
    at com.vsezavtra.courierApp.client.courierApp.onModuleLoad(courierApp.java:10)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:396)
    at com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:200)
    at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:525)
    at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:363)
    at java.lang.Thread.run(Thread.java:662)
Caused by: com.google.gwt.core.ext.UnableToCompleteException: (see previous log entries)
    at com.google.gwt.dev.shell.ModuleSpace.rebind(ModuleSpace.java:595)
    at com.google.gwt.dev.shell.ModuleSpace.rebindAndCreate(ModuleSpace.java:455)
    at com.google.gwt.dev.shell.GWTBridgeImpl.create(GWTBridgeImpl.java:49)
    at com.google.gwt.core.client.GWT.create(GWT.java:97)
    at com.vsezavtra.courierApp.client.ManagerShell.<clinit>(ManagerShell.java:15)
    at com.vsezavtra.courierApp.client.courierApp.onModuleLoad(courierApp.java:10)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:396)
    at com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:200)
    at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:525)
    at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:363)
    at java.lang.Thread.run(Thread.java:662)
ERROR: Failed to load module 'courierApp' from user agent 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.202 Safari/535.1' at localhost:10695. 
可绑定UI类

package com.vsezavtra.courierApp.client;

import com.google.gwt.core.client.GWT;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.Widget;
import com.google.web.bindery.requestfactory.shared.RequestContext;

public class ManagerShell extends Composite
{
    interface ManagerShellUiBinder extends UiBinder<Widget, ManagerShell>
    {
    }

    private static ManagerShellUiBinder uiBinder = GWT.create(ManagerShellUiBinder.class);

    public ManagerShell()
    {
        initWidget(uiBinder.createAndBindUi(this));
    }
    // if I remove this method everything works :(
    public void SetTest(RequestContext test) {}
}
package com.vsezavtra.courierApp.client;
导入com.google.gwt.core.client.gwt;
导入com.google.gwt.uibinder.client.uibinder;
导入com.google.gwt.user.client.ui.Composite;
导入com.google.gwt.user.client.ui.Widget;
导入com.google.web.bindery.requestfactory.shared.RequestContext;
公共类ManagerShell扩展了复合
{
接口管理器HelluiBinder扩展了UiBinder
{
}
私有静态ManagerShellUiBinder uiBinder=GWT.create(ManagerShellUiBinder.class);
公共管理器shell()
{
initWidget(uiBinder.createAndBindUi(this));
}
//如果我删除此方法,一切都会正常工作:(
公共void SetTest(RequestContext测试){}
}
以及相应的XML文件

<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder' xmlns:g='urn:import:com.google.gwt.user.client.ui'>
    <g:VerticalPanel>
        <g:HTMLPanel>
            Test!
        </g:HTMLPanel>
        <g:HTMLPanel>
            Test2!
        </g:HTMLPanel>
    </g:VerticalPanel>
</ui:UiBinder>

测试!
测试2!
最后,我的web.xml文件只有根“webapp”元素,因为我还没有服务器端部分

我正在使用IntelliJ IDEA 10.5.2调试应用程序


如果您还有其他问题,请告诉我。我真的不知道还能做什么:(

您似乎缺少RequestFactory所依赖的javax.validation实现:

错误:第81行:ConstraintViolation无法解析为类型

在布线部分的教程中,建议使用hibernate validator以及其他几个依赖项:


您似乎缺少RequestFactory所依赖的javax.validation实现:

错误:第81行:ConstraintViolation无法解析为类型

在布线部分的教程中,建议使用hibernate validator以及其他几个依赖项:

Doh,它缺少validation-api-1.0.0.GA-sources.jar。我永远不会想!谢谢你给我指明了正确的方向,Terrell。Doh,它缺少validation-api-1.0.0.GA-sources.jar。我永远不会想!非常感谢你给我指明了正确的方向,Terrell。
package com.vsezavtra.courierApp.client;

import com.google.gwt.core.client.GWT;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.Widget;
import com.google.web.bindery.requestfactory.shared.RequestContext;

public class ManagerShell extends Composite
{
    interface ManagerShellUiBinder extends UiBinder<Widget, ManagerShell>
    {
    }

    private static ManagerShellUiBinder uiBinder = GWT.create(ManagerShellUiBinder.class);

    public ManagerShell()
    {
        initWidget(uiBinder.createAndBindUi(this));
    }
    // if I remove this method everything works :(
    public void SetTest(RequestContext test) {}
}
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder' xmlns:g='urn:import:com.google.gwt.user.client.ui'>
    <g:VerticalPanel>
        <g:HTMLPanel>
            Test!
        </g:HTMLPanel>
        <g:HTMLPanel>
            Test2!
        </g:HTMLPanel>
    </g:VerticalPanel>
</ui:UiBinder>
* requestfactory-server.jar
* javax/validation/validator-api-1.0.0.GA.jar
* A JSR 303 Validator of your choice, such as hibernate-validator