0


0

GWTコンパイルエラー

私は一日中アプリケーションを完全にコンパイルしてきましたが、突然失敗し始めました。 以下からわかるように、それは `NullPointException`ですが、何が間違っているのかわかりません。 誰もこれに対処したことがありますか、またはヘルプやガイダンスを提供できますか?

[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)

2 Answer


0


依存するjarを更新せずに、新しいGWTバージョンに更新しましたか?

デフォルトでは、EnunciateはGWT 1.5.2 jarに依存します。 ただし、Enunciateの新しいバージョンに更新する場合は、依存関係を新しいバージョンに更新する必要があります。

  com.google.gwt
  gwt-user
  2.0.0



  com.google.gwt
  gwt-servlet
  2.0.0


0


まず、GWTの更新が機能しない場合、可能であれば、コードを動作確認済みのバージョンに戻します。

バグのあるソースをコンパイルしようとしたときに、コンパイラからこのエラーメッセージが表示されました。インスタンスが(コンパイルユニットで)構築されていないユーザー定義型の変数でメソッドを呼び出す行に沿った間違いが含まれています…​

*次の問題が表示されているエラーを生成する可能性があることを確信しています。確認のために再現しました。*もちろん、これがあなたの問題であることを意味するものではありません。

コンパイラはNullPointerExceptionで失敗します:

MyDumbClass foo;
foo.doSomething();

問題はありません:

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

おもう …​ そして私は完全に推測しています…​ これは、GWTが実際に呼び出すものに対してのみJavaScriptを出力するという事実に関係しているため、エントリポイントから開始して呼び出しグラフを構築し、他のすべてを出力から除外する必要があります…​ そのアルゴリズムでは、MyDumbClass、またはMyDumbClassのネストされた型がスローされる可能性があります。