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

Reply via email to