我想从我的 Gradle 构建脚本中运行一个 groovy 命令行脚本。
我在我的 Gradle 脚本中使用此代码:
def groovyShell = new GroovyShell();
groovyShell.run(file('script.groovy'), ['arg1', 'arg2'] as String[])
在我的 Groovy 脚本 (script.groovy) 使用 CliBuilder 类之前,一切正常。然后我得到以下异常:
org.codehaus.groovy.runtime.InvokerInvocationException:java.lang.NoClassDefFoundError:org/apache/commons/cli/ParseException ...引起:java.lang.ClassNotFoundException:org.apache.commons.cli.ParseException
我发现很多人都有类似的问题和错误,但很难从我阅读的众多帖子中提取“解决方案”。很多人建议将 commons-cli jar 放在类路径中,但是为 GroovyShell 这样做对我来说一点也不明显。另外,我已经在 script.groovy 中为我需要的库声明了 @Grapes 和 @Grab,所以它应该有它需要的一切。