picocli
picocli copied to clipboard
NullPointerException upon moving to 4.7.6 from 4.7.5
I am getting a NullPointerException apparently from within picocli code when attempting to upgrade to 4.7.6 from 4.7.5 (where the app works AOK).
I get
NullPointerException: Cannot invoke "java.lang.ClassLoader.getResource(String)" because the return value of "java.lang.Class.getClassLoader()" is null while processing argument at or before arg[2] 'foo' in [dumpSchema, -o, foo]: java.lang.NullPointerException: Cannot invoke "java.lang.ClassLoader.getResource(String)" because the return value of "java.lang.Class.getClassLoader()" is null
The related annotations are:
@CommandLine.Command(name = "dumpSchema", separator = " ", description="...",
mixinStandardHelpOptions = true, versionProvider = Main.VersionProvider.class,
defaultValueProvider = PropertiesDefaultProvider.class)
// used from main() via picocli annotations
private static void dumpSchema(
@CommandLine.Option(names = "-o", paramLabel="<outputFile>", required = false,
description = "...")
@Nullable Path outputFile)
Setting -Dpicocli.trace
, I get loads of INFO messages along these lines. All without any further stack traces or the like, unfortunately.
With 4.7.5 I get no such messages.
In case it matters this is for an application wrapped up as a single jar and being invoked via java -jar
(and built via the com.github.johnrengelman.shadow
Gradle plugin).