2010-07-20 129 views
3

我正在用GWT编译我的项目与任何目标。我在Linux和Solaris上遇到以下错误。我可以编译GWT附带的示例,但遇到此错误。GWT编译错误

我使用GWT 2.0.3和JDK 1.6.17

[java] Compiling module com.calix.ex1.webgui.ex1embeddedclient.Ex1EmbeddedGui 
[java] [ERROR] Unexpected 
[java] java.lang.NullPointerException 
[java]  at com.google.gwt.dev.javac.JdtCompiler$FindTypesInCud.visit(JdtCompiler.java:179) 
[java]  at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.traverse(TypeDeclaration.java:1253) 
[java]  at org.eclipse.jdt.internal.compiler.ast.QualifiedAllocationExpression.traverse(QualifiedAllocationExpression.java:478) 
[java]  at org.eclipse.jdt.internal.compiler.ast.ReturnStatement.traverse(ReturnStatement.java:262) 
[java]  at org.eclipse.jdt.internal.compiler.ast.MethodDeclaration.traverse(MethodDeclaration.java:239) 
[java]  at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.traverse(TypeDeclaration.java:1350) 
[java]  at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.traverse(TypeDeclaration.java:1223) 
[java]  at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.traverse(CompilationUnitDeclaration.java:687) 
[java]  at com.google.gwt.dev.javac.JdtCompiler$CompilerImpl.process(JdtCompiler.java:158) 
[java]  at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:444) 
[java]  at com.google.gwt.dev.javac.JdtCompiler.doCompile(JdtCompiler.java:467) 
[java]  at com.google.gwt.dev.javac.CompilationStateBuilder$CompileMoreLater.compile(CompilationStateBuilder.java:142) 
[java]  at com.google.gwt.dev.javac.CompilationStateBuilder.doBuildFrom(CompilationStateBuilder.java:281) 
[java]  at com.google.gwt.dev.javac.CompilationStateBuilder.buildFrom(CompilationStateBuilder.java:182) 
[java]  at com.google.gwt.dev.cfg.ModuleDef.getCompilationState(ModuleDef.java:280) 
[java]  at com.google.gwt.dev.Precompile.precompile(Precompile.java:502) 
[java]  at com.google.gwt.dev.Precompile.precompile(Precompile.java:414) 
[java]  at com.google.gwt.dev.Compiler.run(Compiler.java:201) 
[java]  at com.google.gwt.dev.Compiler$1.run(Compiler.java:152) 
[java]  at com.google.gwt.dev.CompileTaskRunner.doRun(CompileTaskRunner.java:87) 
[java]  at com.google.gwt.dev.CompileTaskRunner.runWithAppropriateLogger(CompileTaskRunner.java:81) 
[java]  at com.google.gwt.dev.Compiler.main(Compiler.java:159) 

回答

2

也许答案在这里: GWT Issue 4552

如果忽视添加导入像这样的 匿名类:

FocusPanel dropdown = new FocusPanel(); 
dropdown.addClickHandler(new BloggiDiBlook() {}); 

其中class BloggiDiBlook 既不是 在封闭类的包中,也不是 在封闭类的 .java文件中导入。应该有一个 适当的“类未找到”或 类似的编译器错误。相反, JDT编译器会引发以下 NullPointerException异常

+0

感谢您的帮助,该错误信息是相同的,但如何将javac是编译这种缺失的进口?我将通过代码来查找是否有这种情况。 – Vijay 2010-07-21 15:21:16

+0

我发现了这个问题。即使启用GWT编译器的踪迹也没有帮助,所以我只是采用了jdt编译器代码并使用它进行调试。无论如何,问题是我们有两个内部类。另一个来自调试器的类引用了我可以看到它正试图加载的类型。 感谢您的帮助! – Vijay 2010-07-22 03:33:38