Frage

Ich habe meine Bewerbung wurde Kompilieren der ganzen Tag absolut in Ordnung aber ist es plötzlich beginnt zu scheitern. Wie man es von unten sehen kann, ist es ein NullPointException aber ich habe keine Ahnung, was falsch ist. Hat jemand mit dieser behandelt vor oder können jede Hilfe oder Anleitung anbieten?

[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)
War es hilfreich?

Lösung

Erstens, wenn die Aktualisierung GWT nicht funktioniert, kehren Sie den Code auf eine bekannte Arbeitsversion, wenn Sie können.

Ich habe diese Fehlermeldung von dem Compiler zu sehen, wenn sie versuchen Buggy Quellen zu kompilieren, enthalten Fehler auf dem Linien einer Methode auf eine Variable eines benutzerdefinierten Typs aufgerufen wird, von denen keine Instanz überhaupt (in der Übersetzungseinheit) aufgebaut ist, ...

Ich bin sicher, dass das folgende Problem den Fehler erzeugen können Sie sehen, ich reproduzierte es nur um sicher zu machen. Natürlich bedeutet das nicht, das ist dein Problem, aber es könnte geben Sie etwas sucht.

Compiler schlägt mit Nullpointer:

MyDumbClass foo;
foo.doSomething();

Keine Probleme:

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

Ich denke, ... und ich vermute, total ... dies hat mit der Tatsache zu tun, dass GWT nur Ausgänge Javascript für die Sachen, die man eigentlich nennen, daher muss es ein Graph der zeigt, baut von der Eintrittsstelle beginnt und Urlaub alles andere aus dem Ausgang ... es kann sein, dass in diesem Algorithmus es aus MyDumbClass wirft, oder MyDumbClass des verschachtelten Art.

Andere Tipps

Haben Sie auf eine neuere Version aktualisiert GWT und nicht die abhängigen Gläser aktualisiert?

artikulieren, standardmäßig ist abhängig von den GWT 1.5.2 Gläsern. Aber wenn Sie auf eine neuere Version von enunciate aktualisieren möchten, können Sie Ihre Abhängigkeiten auf die neuere Version aktualisieren müssen:

<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>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top