我正在一个groovy脚本中尝试使用picocli来获得一个交互式密码提示,并得到错误@picocli。元素LOCAL_VARIABLE上不允许使用CommandLine$Option。我使用的是Groovy 4.0.5和Picocli 4.6.3。下面是我的代码。
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()
在命令行我尝试
groovy PicocliTest.groovy findClassPath.groovy -p
1条答案
按热度按时间zpf6vheq1#
我怀疑您缺少
picocli-groovy
依赖项。手册中的Groovy示例使用
@Grab
来完成此操作: