Ошибка прерывания RequestFactory в Eclipse

Я успешно использовал RequestFactory в течение нескольких месяцев в моем проекте Android, подключенном к AppEngine. Иногда, хотя, у меня есть проблема в файле, в котором я подкласса RequestFactory

public interface MyRequestFactory extends RequestFactory { ... } 

Eclipse дает мне красный X на строке «public interface …», и ошибка, которую я получаю, показана ниже. (Обратите внимание, что это не время выполнения, это только в окне Eclipse во время редактирования)

Странно то, что я обычно могу сделать несколько Project-> Clean и несколько раз отредактировать код, никогда не делая никакого реального изменения кода, затем «Сохранить», и проблема всегда уходит. На этот раз он застрял.

Есть идеи?

Java.lang.NullPointerException при
Org.eclipse.jdt.apt.core.internal.AptCompilationParticipant.addJava6GeneratedFile (AptCompilationParticipant.java:272) в
Org.eclipse.jdt.internal.apt.pluggable.core.dispatch.IdeProcessingEnvImpl.addNewUnit (IdeProcessingEnvImpl.java:132) в
Org.eclipse.jdt.internal.apt.pluggable.core.filer.IdeJavaSourceOutputStream.close (IdeJavaSourceOutputStream.java:72) на sun.nio.cs.StreamEncoder.implClose (StreamEncoder.java:319) на sun.nio.cs. StreamEncoder.close (StreamEncoder.java:148) в
Java.io.OutputStreamWriter.close (OutputStreamWriter.java:233) в java.io.BufferedWriter.close (BufferedWriter.java:265) в
Java.io.PrintWriter.close (PrintWriter.java:312) в
Com.google.web.bindery.requestfactory.apt.DeobfuscatorBuilder.visitType (DeobfuscatorBuilder.java:146) в
Com.google.web.bindery.requestfactory.apt.DeobfuscatorBuilder.visitType (DeobfuscatorBuilder.java:43) в
Org.eclipse.jdt.internal.compiler.apt.model.TypeElementImpl.accept (TypeElementImpl.java:60) в
Javax.lang.model.util.ElementScanner6.scan (ElementScanner6.java:139) в
Com.google.web.bindery.requestfactory.apt.ScannerBase.scan (ScannerBase.java:63) в
Com.google.web.bindery.requestfactory.apt.State.executeJobs (State.java:248) в
Com.google.web.bindery.requestfactory.apt.RfValidator.process (RfValidator.java:83) в
Org.eclipse.jdt.internal.compiler.apt.dispatch.RoundDispatcher.handleProcessor (RoundDispatcher.java:139) в
Org.eclipse.jdt.internal.compiler.apt.dispatch.RoundDispatcher.round (RoundDispatcher.java:121) в
Org.eclipse.jdt.internal.compiler.apt.dispatch.BaseAnnotationProcessorManager.processAnnotations (BaseAnnotationProcessorManag er.java:159) в
Org.eclipse.jdt.internal.apt.pluggable.core.dispatch.IdeAnnotationProcessorManager.processAnnotations (IdeAnnotationProcessorMan ager.java:134) в org.eclipse.jdt.internal.compiler.Compiler.processAnnotations (Compiler.java:813) at
Org.eclipse.jdt.internal.compiler.Compiler.compile (Compiler.java:432) в
Org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile (AbstractImageBuilder.java:364) в
Org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.compile (IncrementalImageBuilder.java:329) в
Org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile (AbstractImageBuilder.java:301) в
Org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.build (IncrementalImageBuilder.java:134) в
Org.eclipse.jdt.internal.core.builder.JavaBuilder.buildDeltas (JavaBuilder.java:265) в
Org.eclipse.jdt.internal.core.builder.JavaBuilder.build (JavaBuilder.java:193) в org.eclipse.core.internal.events.BuildManager $ 2.run (BuildManager.java:728) на org.eclipse.core .runtime.SafeRunner.run (SafeRunner.java:42) в
Org.eclipse.core.internal.events.BuildManager.basicBuild (BuildManager.java:199) в
Org.eclipse.core.internal.events.BuildManager.basicBuild (BuildManager.java:239) в org.eclipse.core.internal.events.BuildManager $ 1.run (BuildManager.java:292) на org.eclipse.core.runtime .SafeRunner.run (SafeRunner.java:42) в
Org.eclipse.core.internal.events.BuildManager.basicBuild (BuildManager.java:295) в
Org.eclipse.core.internal.events.BuildManager.basicBuildLoop (BuildManager.java:351) в
Org.eclipse.core.internal.events.BuildManager.build (BuildManager.java:374) в
Org.eclipse.core.internal.events.AutoBuildJob.doBuild (AutoBuildJob.java:143) в
Org.eclipse.core.internal.events.AutoBuildJob.run (AutoBuildJob.java:241) на org.eclipse.core.internal.jobs.Worker.run (Worker.java:54)

    Это известная ошибка Eclipse. Единственное решение, которое я нашел, – перезапустить eclipse. Иногда я должен компилироваться без аннотаций, а затем перезапускать.

    Просто перезагрузка или отключение обработки аннотаций не работала в моем случае. С этой ошибкой у меня было две фабрики запросов (в разных проектах!).

    • MyReqFacA расширяет RequestFactory
    • MyReqFacB расширяет RequestFactory

    Я решил проблему, удалив один из интерфейсов фабрики запросов. К счастью, интерфейс больше не нужен.

    Но через один день у меня опять проблема!

    У меня такая же проблема. Работа, которую я использовал, – это переименование имени подкласса RequestFactory (Refactor-> Rename). Я изменил другую часть подкласса, это не сработало. После успешного компиляции просто переименуйте его обратно в то, что раньше было.

    Я получил ту же проблему с RequestFactory из GWT, и я решил удалить папку «gwt-unitCache», а затем снова скомпилировать проект (Project -> Clean …)

    Скорее всего, для android необходимо удалить какую-то сгенерированную папку и снова скомпилировать проект.