Description
The PluginManagerPackagesTest runs an embedded JavaCompiler to get the "FixedStringLayout" class that is needed for the test.
The classpath used by JavaCompiler may or may not have a valid PluginProcessor available. I assume if it did, it would have placed the Log4j2Plugins.dat somewhere in a META-INF subdirectory, but instead (for me) it appears in the current directory, which is log4j-core.
Simple fix is to add "-proc:none" to the compiler options to disable annotation processing, like this:
// compile generated source compiler.getTask(null, fileManager, diagnostics, Arrays.asList("-proc:none"), null, compilationUnits).call();
This assumes we really don't need the annotation processing for the test. If we do, then perhaps an explicit classpath needs to be provided to the JavaCompiler so we know we're getting the expected PluginProcessor (presumably one just built moments before). And we would want the test to clean up after itself (remove the DAT file, and probably the compiled classes as well).