[ https://issues.apache.org/jira/browse/GROOVY-9432?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17054267#comment-17054267 ]
Paul King commented on GROOVY-9432: ----------------------------------- [~rpopma] We had a bug in our build files in 3.0.1. From 3.0.2 you can use either of the variations shown below. You can use (for picocli 4.1.4): {code} @GrabConfig(systemClassLoader=true) @Grab('org.codehaus.groovy:groovy-cli-picocli:3.0.2') import groovy.cli.picocli.CliBuilder def cli = new CliBuilder() {code} or (for any version you specify): {code} @GrabConfig(systemClassLoader=true) @Grab('info.picocli:picocli:4.2.0') import groovy.cli.picocli.CliBuilder def cli = new CliBuilder() {code} > ClassNotFoundException when attempting to use Picocli via Grapes > ---------------------------------------------------------------- > > Key: GROOVY-9432 > URL: https://issues.apache.org/jira/browse/GROOVY-9432 > Project: Groovy > Issue Type: Bug > Components: Grape > Affects Versions: 3.0.0, 3.0.1 > Environment: Reproduced under both macOS (Groovy 3.0.1 installed > manually and via MacPorts) and Debian (Groovy installed via SDKMAN). > Reporter: Marc Simpson > Priority: Major > Attachments: image-2020-03-03-14-30-10-210.png > > > (Issue originally raised as: https://github.com/remkop/picocli/issues/970) > Consider the following minimal script: > {noformat} > @Grab('info.picocli:picocli:4.2.0') > import groovy.cli.picocli.CliBuilder > def cli = new CliBuilder() > {noformat} > Under Groovy 2.5.9, this runs without error; with 3.0.1, however, I see: > {noformat} > $ groovy cli.groovy > Caught: java.lang.NoClassDefFoundError: picocli/CommandLine$ParameterException > java.lang.NoClassDefFoundError: picocli/CommandLine$ParameterException > at cli.run(cli.groovy:4) > at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native > Method) > at > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > Caused by: java.lang.ClassNotFoundException: > picocli.CommandLine$ParameterException > ... 4 more > {noformat} > The jar is definitely downloaded to {{~/.groovy/grapes}} and both versions of > Groovy output > {noformat} > Resolving dependency: info.picocli#picocli;4.2.0 {default=[default]} > Preparing to download artifact info.picocli#picocli;4.2.0!picocli.jar > {noformat} > when {{-Dgroovy.grape.report.downloads=true}} is supplied. -- This message was sent by Atlassian Jira (v8.3.4#803005)