使用Grab在groovy中失败的脚本

fix*_*ain 3 groovy groovy-grab

以下groovy脚本使用命令行失败

@Grab("org.apache.poi:poi:3.9")
println "test"
Run Code Online (Sandbox Code Playgroud)

错误:

unexpected token: println @ line 2, column 1.
  println "test"
  ^
1 error
Run Code Online (Sandbox Code Playgroud)

删除它Grab,它的工作原理!我错过了什么?

$>groovy -v
Groovy Version: 2.1.7 JVM: 1.7.0_25 Vendor: Oracle Corporation OS: Linux
Run Code Online (Sandbox Code Playgroud)

jam*_*man 7

注释只能应用于某些目标.请参阅SO:为什么我不能在Groovy脚本中的@Grab声明后进行方法调用?

@Grab("org.apache.poi:poi:3.9")
dummy = null
println "test"
Run Code Online (Sandbox Code Playgroud)

或者,您可以使用grab作为方法调用:

import static groovy.grape.Grape.grab
grab(group: "org.apache.poi", module: "poi", version: "3.9")
println "test"
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅Groovy语言文档>使用Grape进行依赖关系管理.