2010-09-16 119 views
0

我一直在編譯我的應用程序,但它突然開始失敗。正如你可以從下面看到的,這是一個NullPointException,但我不知道什麼是錯的。有沒有人處理過此事,或可以提供任何幫助或指導?GWT編譯錯誤

[INFO] [enunciate:assemble {execution: default}] 
[INFO] initializing enunciate. 
[INFO] invoking enunciate:generate step... 
Note: Some input files use or override a deprecated API. 
Note: Recompile with -Xlint:deprecation for details. 
[INFO] invoking enunciate:compile step... 
[INFO] [gwt] Compiling module com.project.myProject 
[INFO] [gwt] Validating newly compiled units 
[INFO] [gwt] [ERROR] Unexpected 
[INFO] [gwt] java.lang.NullPointerException 
[INFO] [gwt] at com.google.gwt.dev.javac.JdtCompiler$FindTypesInCud.visit(JdtCompiler.java:179) 
[INFO] [gwt] at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.traverse(TypeDeclaration.java:1253) 
[INFO] [gwt] at org.eclipse.jdt.internal.compiler.ast.QualifiedAllocationExpression.traverse(QualifiedAllocationExpression.java:478) 
[INFO] [gwt] at org.eclipse.jdt.internal.compiler.ast.MessageSend.traverse(MessageSend.java:576) 
[INFO] [gwt] at org.eclipse.jdt.internal.compiler.ast.ConstructorDeclaration.traverse(ConstructorDeclaration.java:505) 
[INFO] [gwt] at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.traverse(TypeDeclaration.java:1239) 
[INFO] [gwt] at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.traverse(CompilationUnitDeclaration.java:687) 
[INFO] [gwt] at com.google.gwt.dev.javac.JdtCompiler$CompilerImpl.process(JdtCompiler.java:158) 
[INFO] [gwt] at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:444) 
[INFO] [gwt] at com.google.gwt.dev.javac.JdtCompiler.doCompile(JdtCompiler.java:467) 
[INFO] [gwt] at com.google.gwt.dev.javac.CompilationStateBuilder$CompileMoreLater.compile(CompilationStateBuilder.java:142) 
[INFO] [gwt] at com.google.gwt.dev.javac.CompilationStateBuilder.doBuildFrom(CompilationStateBuilder.java:281) 
[INFO] [gwt] at com.google.gwt.dev.javac.CompilationStateBuilder.buildFrom(CompilationStateBuilder.java:182) 
[INFO] [gwt] at com.google.gwt.dev.cfg.ModuleDef.getCompilationState(ModuleDef.java:280) 
[INFO] [gwt] at com.google.gwt.dev.Precompile.precompile(Precompile.java:502) 
[INFO] [gwt] at com.google.gwt.dev.Precompile.precompile(Precompile.java:414) 
[INFO] [gwt] at com.google.gwt.dev.Compiler.run(Compiler.java:201) 
[INFO] [gwt] at com.google.gwt.dev.Compiler$1.run(Compiler.java:152) 
[INFO] [gwt] at com.google.gwt.dev.CompileTaskRunner.doRun(CompileTaskRunner.java:87) 
[INFO] [gwt] at com.google.gwt.dev.CompileTaskRunner.runWithAppropriateLogger(CompileTaskRunner.java:81) 
[INFO] [gwt] at com.google.gwt.dev.Compiler.main(Compiler.java:159) 
+0

這是哪個版本的GWT?嘗試過一個更新的? – 2010-09-17 11:39:24

回答

0

首先,如果更新GWT不起作用,恢復您的代碼以一個已知的工作如果可以的話。

我試圖編譯錯誤的源代碼時遇到了這個錯誤消息,它包含在調用一個用戶定義的類型的變量上的錯誤,這些變量沒有構造任何實例(在編譯單元)...

我確定下面的問題可能會導致你看到的錯誤,我只是轉載它來確保。當然,這並不意味着這是你的問題,但它可能會給你一些東西來尋找。

編譯器失敗,NullPointerException異常:

MyDumbClass foo; 
foo.doSomething(); 

沒有問題:

MyDumbClass foo = new MyDumbClass(); 
foo.doSomething(); 

我想......和我完全猜...這是與事實做GWT只輸出javascript對於你實際調用的東西,因此它必須從入口點開始構建一個調用圖,並將其他所有內容從輸出中刪除......可能在該算法中,它會拋出MyDumbClass或MyDumbClass的嵌套類型。

0

您是否已更新到較新的GWT版本並且未更新相關的罐子?

發音,默認情況下取決於GWT 1.5.2罐子。但是,如果你想更新字正腔圓的新版本,你可能需要更新你的依賴,以較新的版本:

<dependency> 
    <groupId>com.google.gwt</groupId> 
    <artifactId>gwt-user</artifactId> 
    <version>2.0.0</version> 
</dependency> 

<dependency> 
    <groupId>com.google.gwt</groupId> 
    <artifactId>gwt-servlet</artifactId> 
    <version>2.0.0</version> 
</dependency>