gpt4 book ai didi

java - JCommander 是否支持没有前缀的动态参数?

转载 作者:行者123 更新时间:2023-12-01 18:18:08 26 4
gpt4 key购买 nike

我正在尝试移植 CLI 以使用 JCommander但我的应用程序允许在命令行上传递自定义参数,如下所示:

 ./App.sh -u myusername -customparam1 customval1

在这种情况下,customparam1 是自定义参数的名称,customval1 是其值。用户可以传递任意数量的此类参数,并且名称可以是任何名称,例如customparam2

JCommander 能够解析这些类型的参数吗?我尝试使用 Dynamic Parameters但有两个问题:

  • 它们似乎需要在参数名称之前添加前缀,例如-Dcustomparam1,其中 D 是前缀
  • 它们需要在名称和值之间使用赋值字符,例如 =,并且空格不能用作赋值字符

关于如何使用 JCommander 解析这些参数有什么建议吗?

最佳答案

我发现了一个未记录的配置选项acceptUnknownOptions,可以像这样使用:

JCommander jc = JCommander.newBuilder().addObject(app).acceptUnknownOptions(true).build();
...
List<String> unknowns = jc.getUnknownOptions();

关于java - JCommander 是否支持没有前缀的动态参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60326926/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com