I have modified the Java 9 support yet again. I was having a problem with a Maven plugin I am building where the Maven annotation processor was failing because it was finding a Java 9 class that it couldn’t read. To fix this I have separated the Java 9 support to its own module and then am overlaying that into the log4j-api jar as a multi-release jar. One benefit of this is that the Java 9 code can now be tested in the build as that one module uses Java 9 for compilation and testing.
While doing this I was having a terrible time getting the multi-release jar to work and in the process I was able to narrow down the stack locator code to just a single class. However, when I run mvn surefire:test -Dtest=StackLocatorTest in java9 it is not selecting the Java 9 version of the class. But I created a main program and ran that and it did select the correct class, so I am not sure what the problem is and I have already spent two days trying to debug it. I also added the deploy plugin with skip set to true for the java9 module so it wouldn’t go to Nexus. While I was at it I added the same thing for the other modules that aren’t supposed to go to Maven central. In addition to making my plugin work this should also make it easier to edit the Java 9 classes in your IDE. I know it helped me in IntelliJ. Please let me know if you find any issues. Ralph
