ECJ не работает с IllegalArgumentException, обрабатывающим аннотации log4j - PullRequest
0 голосов
/ 26 октября 2018

Я использую log4j 2.11.1 в своем проекте и создал несколько пользовательских приложений и фабрик конфигурации, используя аннотацию @Plugin.

Это прекрасно компилируется без ошибок как в Eclipse 4.9, так и с IntelliJ.Однако при запуске пакетного компилятора Eclipse тот же код завершается с ошибкой IllegalArgumentException:

Processing annotations
java.lang.IllegalArgumentException: Unknown location : CLASS_OUTPUT
    at org.eclipse.jdt.internal.compiler.apt.util.EclipseFileManager.getFileForOutput(EclipseFileManager.java:436)
    at org.eclipse.jdt.internal.compiler.apt.dispatch.BatchFilerImpl.createResource(BatchFilerImpl.java:89)
    at org.apache.logging.log4j.core.config.plugins.processor.PluginProcessor.writeCacheFile(PluginProcessor.java:117)
    at org.apache.logging.log4j.core.config.plugins.processor.PluginProcessor.process(PluginProcessor.java:78)
    at org.eclipse.jdt.internal.compiler.apt.dispatch.RoundDispatcher.handleProcessor(RoundDispatcher.java:142)
    at org.eclipse.jdt.internal.compiler.apt.dispatch.RoundDispatcher.round(RoundDispatcher.java:124)
    at org.eclipse.jdt.internal.compiler.apt.dispatch.BaseAnnotationProcessorManager.processAnnotations(BaseAnnotationProcessorManager.java:162)
    at org.eclipse.jdt.internal.compiler.Compiler.processAnnotations(Compiler.java:940)
    at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:450)
    at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:426)
    at org.eclipse.jdt.internal.compiler.batch.Main.performCompilation(Main.java:4693)
    at org.eclipse.jdt.internal.compiler.batch.Main.compile(Main.java:1781)
    at org.eclipse.jdt.internal.compiler.batch.Main.main(Main.java:1485)
Processing annotations
No elements to process
1. ERROR: Unknown location : CLASS_OUTPUT
1 problem (1 error)

В в этом репо Я создал минимальный проект для воспроизведения этой проблемы.Я пытался использовать версии 4.7 и 4.9 ECJ и пробовал с Java 8 OpenJDK и Oracle, все это на машине с Ubuntu 18.04.

Любая подсказка о том, что здесь может происходить?

Редактировать: Попытка использования Java10 на компьютере с OSX, и появляется та же ошибка.

...