首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不允许在元素@picocli.CommandLine$Option上使用Picocli脚本错误注释

不允许在元素@picocli.CommandLine$Option上使用Picocli脚本错误注释
EN

Stack Overflow用户
提问于 2022-10-14 12:23:38
回答 1查看 17关注 0票数 1

我正在尝试在groovy脚本中使用picocli获得一个交互式密码提示,并获得在元素@picocli.CommandLine$Option上不允许的错误LOCAL_VARIABLE。我正在使用Groovy 4.0.5和Picocli 4.6.3。下面是我的密码。

代码语言:javascript
复制
import static picocli.CommandLine.*
import groovy.transform.Field
import java.security.MessageDigest

@Command(name = 'checksum', mixinStandardHelpOptions = true, version = 'checksum 4.0',
        description = 'Prints the checksum (SHA-256 by default) of a file to STDOUT.')
@picocli.groovy.PicocliScript

@Parameters(index = '0', description = 'The file whose checksum to calculate.')
@Field File file

@Option(names = ['-a', '--algorithm'], description = 'MD5, SHA-1, SHA-256, ...')
@Field String algorithm = 'SHA-256'

 @Option(names = [ '-p','--password'], description = "Passphrase", interactive = true)
 char[] password;



 println MessageDigest.getInstance(algorithm).digest(file.bytes).encodeHex().toString()

在命令行我试过

代码语言:javascript
复制
groovy PicocliTest.groovy findClassPath.groovy -p
EN

回答 1

Stack Overflow用户

发布于 2022-10-15 10:09:40

我怀疑您缺少picocli-groovy依赖项。

手册中的Groovy示例使用@Grab来完成这一任务:

代码语言:javascript
复制
@Grab('info.picocli:picocli-groovy:4.6.3')
@GrabConfig(systemClassLoader=true)
@Command(name = "myScript",
        mixinStandardHelpOptions = true,
        description = "@|bold Groovy script|@ @|underline picocli|@ example")
@picocli.groovy.PicocliScript2
import groovy.transform.Field
import static picocli.CommandLine.*

@Option(names = ["-c", "--count"], description = "number of repetitions")
@Field int count = 1;

count.times {
   println "hi"
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74069176

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档