Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.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 GWT JUnit:com.google.GWT.dev.jjs.InternalCompilerException:访问期间出现意外错误_Java_Gwt_Netbeans 6.9_Junit4 - Fatal编程技术网

Java GWT JUnit:com.google.GWT.dev.jjs.InternalCompilerException:访问期间出现意外错误

Java GWT JUnit:com.google.GWT.dev.jjs.InternalCompilerException:访问期间出现意外错误,java,gwt,netbeans-6.9,junit4,Java,Gwt,Netbeans 6.9,Junit4,随着我的应用程序的扩展,我决定应用JUnit测试,以便防止NullPointerException 尽可能多,尤其是在活动和场所以及工厂 然而,我尝试在ClientFactory上执行测试,我已经能够像 如下: gwt.test.jvmargs=-Xmx256M-Dgwt.args=-testBeginTimeout 5-Dgwt.args=-prod-Dgwt.args=-runStyle手动:1 当我运行测试时,我得到了InternalCompilerException。下面是错误堆栈: V

随着我的应用程序的扩展,我决定应用JUnit测试,以便防止NullPointerException 尽可能多,尤其是在活动和场所以及工厂

然而,我尝试在ClientFactory上执行测试,我已经能够像 如下:

gwt.test.jvmargs=-Xmx256M-Dgwt.args=-testBeginTimeout 5-Dgwt.args=-prod-Dgwt.args=-runStyle手动:1

当我运行测试时,我得到了InternalCompilerException。下面是错误堆栈:

Validating newly compiled units
   [ERROR] Errors in 'jar:file:/D:/gwt-2.1.1/gwt-user.jar!/com/google/gwt/logging/client/LogConfiguration.java'
      [ERROR] Line 77: The method addHandler(Handler) is undefined for the type Logger
[ERROR] Failed to create an instance of 'com.google.gwt.junit.client.impl.JUnitHost' via deferred binding
com.google.gwt.dev.jjs.InternalCompilerException: Unexpected error during visit.
        at com.google.gwt.dev.js.ast.JsVisitor.translateException(JsVisitor.java:466)
        at com.google.gwt.dev.js.ast.JsVisitor.doTraverse(JsVisitor.java:452)
        at com.google.gwt.dev.js.ast.JsVisitor.doAccept(JsVisitor.java:423)
        at com.google.gwt.dev.js.ast.JsVisitor.accept(JsVisitor.java:98)
        at com.google.gwt.dev.js.JsToStringGenerationVisitor.visit(JsToStringGenerationVisitor.java:667)
        at com.google.gwt.dev.shell.Jsni$JsSourceGenWithJsniIdentFixup.visit(Jsni.java:224)
        at com.google.gwt.dev.js.ast.JsInvocation.traverse(JsInvocation.java:64)
        at com.google.gwt.dev.js.ast.JsVisitor.doTraverse(JsVisitor.java:450)
        at com.google.gwt.dev.js.ast.JsVisitor.doAccept(JsVisitor.java:423)
        at com.google.gwt.dev.js.ast.JsVisitor.accept(JsVisitor.java:98)
        at com.google.gwt.dev.shell.Jsni$JsSourceGenWithJsniIdentFixup.visit(Jsni.java:219)
        at com.google.gwt.dev.js.ast.JsInvocation.traverse(JsInvocation.java:64)
        at com.google.gwt.dev.js.ast.JsVisitor.doTraverse(JsVisitor.java:450)
        at com.google.gwt.dev.js.ast.JsVisitor.doAccept(JsVisitor.java:423)
        at com.google.gwt.dev.js.ast.JsVisitor.accept(JsVisitor.java:98)
        at com.google.gwt.dev.js.JsToStringGenerationVisitor.visit(JsToStringGenerationVisitor.java:286)
        at com.google.gwt.dev.js.ast.JsArrayAccess.traverse(JsArrayAccess.java:72)
        at com.google.gwt.dev.js.ast.JsVisitor.doTraverse(JsVisitor.java:450)
        at com.google.gwt.dev.js.ast.JsVisitor.doAccept(JsVisitor.java:423)
        at com.google.gwt.dev.js.ast.JsVisitor.accept(JsVisitor.java:98)
        at com.google.gwt.dev.js.JsToStringGenerationVisitor.visit(JsToStringGenerationVisitor.java:311)
        at com.google.gwt.dev.js.ast.JsBinaryOperation.traverse(JsBinaryOperation.java:108)
        at com.google.gwt.dev.js.ast.JsVisitor.doTraverse(JsVisitor.java:450)
        at com.google.gwt.dev.js.ast.JsVisitor.doAccept(JsVisitor.java:423)
        at com.google.gwt.dev.js.ast.JsVisitor.accept(JsVisitor.java:98)
        at com.google.gwt.dev.js.JsToStringGenerationVisitor.visit(JsToStringGenerationVisitor.java:509)
        at com.google.gwt.dev.js.ast.JsExprStmt.traverse(JsExprStmt.java:37)
        at com.google.gwt.dev.js.ast.JsVisitor.doTraverse(JsVisitor.java:450)
        at com.google.gwt.dev.js.ast.JsVisitor.doAccept(JsVisitor.java:423)
        at com.google.gwt.dev.js.ast.JsVisitor.accept(JsVisitor.java:98)
        at com.google.gwt.dev.js.JsToStringGenerationVisitor.printJsBlock(JsToStringGenerationVisitor.java:1002)
        at com.google.gwt.dev.js.JsSourceGenerationVisitor.visit(JsSourceGenerationVisitor.java:48)
        at com.google.gwt.dev.js.ast.JsBlock.traverse(JsBlock.java:43)
        at com.google.gwt.dev.js.ast.JsVisitor.doTraverse(JsVisitor.java:450)
        at com.google.gwt.dev.js.ast.JsVisitor.doAccept(JsVisitor.java:423)
        at com.google.gwt.dev.js.ast.JsVisitor.accept(JsVisitor.java:98)
        at com.google.gwt.dev.shell.Jsni.generateJavaScriptForHostedMode(Jsni.java:255)
        at com.google.gwt.dev.shell.Jsni.getJavaScriptForHostedMode(Jsni.java:242)
        at com.google.gwt.dev.shell.ModuleSpaceOOPHM.createNativeMethods(ModuleSpaceOOPHM.java:49)
        at com.google.gwt.dev.shell.CompilingClassLoader.injectJsniMethods(CompilingClassLoader.java:1215)
        at com.google.gwt.dev.shell.CompilingClassLoader.findClass(CompilingClassLoader.java:1039)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
        at com.google.gwt.junit.client.impl.JUnitHost_Proxy.<clinit>(JUnitHost_Proxy.java:15)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:247)
        at com.google.gwt.dev.shell.ModuleSpace.loadClassFromSourceName(ModuleSpace.java:654)
        at com.google.gwt.dev.shell.ModuleSpace.rebindAndCreate(ModuleSpace.java:458)
        at com.google.gwt.dev.shell.GWTBridgeImpl.create(GWTBridgeImpl.java:49)
        at com.google.gwt.core.client.GWT.create(GWT.java:97)
        at com.google.gwt.junit.client.impl.GWTRunner.<init>(GWTRunner.java:184)
        at com.google.gwt.junit.client.impl.GWTRunnerImplgecko1_8.<init>(GWTRunnerImplgecko1_8.java:6)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
        at com.google.gwt.dev.shell.ModuleSpace.rebindAndCreate(ModuleSpace.java:465)
        at com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:375)
        at com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:183)
        at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:510)
        at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:352)
        at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.SecurityException: Prohibited package name: java.io
        at java.lang.ClassLoader.preDefineClass(ClassLoader.java:479)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:614)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:465)
        at com.google.gwt.dev.shell.CompilingClassLoader.findClass(CompilingClassLoader.java:1011)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:247)
        at com.google.gwt.dev.shell.CompilingClassLoader$DispatchClassInfoOracle.getClassFromBinaryName(CompilingClassLoader.java:236)
        at com.google.gwt.dev.shell.CompilingClassLoader$DispatchClassInfoOracle.getClassFromBinaryOrSourceName(CompilingClassLoader.java:266)
        at com.google.gwt.dev.shell.CompilingClassLoader$DispatchClassInfoOracle.getClassInfoFromClassName(CompilingClassLoader.java:288)
        at com.google.gwt.dev.shell.CompilingClassLoader$DispatchClassInfoOracle.getDispId(CompilingClassLoader.java:146)
        at com.google.gwt.dev.shell.CompilingClassLoader.getDispId(CompilingClassLoader.java:930)
        at com.google.gwt.dev.shell.Jsni$JsSourceGenWithJsniIdentFixup.visit(Jsni.java:105)
        at com.google.gwt.dev.js.ast.JsNameRef.traverse(JsNameRef.java:121)
        at com.google.gwt.dev.js.ast.JsVisitor.doTraverse(JsVisitor.java:450)
        ... 61 more
[ERROR] Failed to create an instance of 'com.google.gwt.junit.client.impl.GWTRunner' via deferred binding
java.lang.RuntimeException: Deferred binding failed for 'com.google.gwt.junit.client.impl.JUnitHost' (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.google.gwt.junit.client.impl.GWTRunner.<init>(GWTRunner.java:184)
        at com.google.gwt.junit.client.impl.GWTRunnerImplgecko1_8.<init>(GWTRunnerImplgecko1_8.java:6)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
        at com.google.gwt.dev.shell.ModuleSpace.rebindAndCreate(ModuleSpace.java:465)
        at com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:375)
        at com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:183)
        at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:510)
        at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:352)
        at java.lang.Thread.run(Thread.java:619)
Caused by: com.google.gwt.core.ext.UnableToCompleteException: (see previous log entries)
        at com.google.gwt.dev.shell.ModuleSpace.rebindAndCreate(ModuleSpace.java:503)
        at com.google.gwt.dev.shell.GWTBridgeImpl.create(GWTBridgeImpl.java:49)
        ... 13 more
[ERROR] Unable to load module entry point class com.google.gwt.junit.client.impl.GWTRunner (see associated exception for details)
com.google.gwt.core.ext.UnableToCompleteException: (see previous log entries)
        at com.google.gwt.dev.shell.ModuleSpace.rebindAndCreate(ModuleSpace.java:503)
        at com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:375)
        at com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:183)
        at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:510)
        at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:352)
        at java.lang.Thread.run(Thread.java:619)
[ERROR] Failed to load module 'org.opevel.projectname.JUnit' from user agent 'Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.9.1.19) Gecko/20110420 Firefox/3.5.19 GTB7.1' at localhost:2034
com.google.gwt.core.ext.UnableToCompleteException: (see previous log entries)
        at com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:434)
        at com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:183)
        at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:510)
        at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:352)
        at java.lang.Thread.run(Thread.java:619)
我将非常感谢您的帮助


关于

GWT的命令行工具公开的测试工具与JUnit不兼容,导致错误:

原因:java.lang.SecurityException:禁止的包名称:java.io

您有两个选择:

如果您正在测试的单元没有隐式或显式地调用GWT.create或以其他方式依赖于本机Javascript,那么您可以像在任何其他项目中一样使用JUnit,即从命令行:java java org.JUnit.runner.JUnitCore

如果您正在测试的单元确实以某种方式依赖于本机Javascript,那么您需要使用GWTTestCase,这是一个很好的例子


考虑研究JUnit,因为它的一个明确目标是使用JUnit使尽可能多的应用程序可测试,这主要是因为它比基于GWTTestCase的测试快得多。

谢谢Jason。我确实采用了MVP模式,使用活动和地点。它确实使发展得以维持,但只是在某种程度上。然而,通过从我的类路径中去掉restlet,我能够解决这个问题。谢谢