2010-09-16 4 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 это? Попробовали с более новым? –

ответ

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> 
Смежные вопросы