LogManager.getLogger() is unable to determine class name on Java 11
The reason was that the multi-release class files were not being picked up from META-INF/versions/*
because I hadn't set the multi-release flag when I built my shaded jar.
I needed to add:
Multi-Release:true
To my manifest, and everything started working.
The answer by @DanielScott is correct. When using the Gradle Shadow plugin, I added the following to my build.gradle
to appended the Multi-Release:true
flag to the manifest.
jar {
manifest {
attributes 'Multi-Release': 'true'
}
}