Uploaded image for project: 'Log4j 2'
  1. Log4j 2
  2. LOG4J2-756

Stray Log4j2Plugins.dat appears during build

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Trivial
    • Resolution: Fixed
    • 2.0.1
    • 2.0.2
    • Core
    • None

    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).

      Attachments

        Activity

          People

            rpopma Remko Popma
            seh4nc Scott Harrington
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - 1h
                1h
                Remaining:
                Remaining Estimate - 1h
                1h
                Logged:
                Time Spent - Not Specified
                Not Specified