Я использую 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, и появляется та же ошибка.