问题标签 [apache-commons-cli]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Java commons-cli,带有可能值列表的选项
如何使选项仅接受某些指定值,如下例所示:
java - 使用 Apache Commons CLI 库时如何获取参数
我正在使用 Apache Commons CLI 来处理 Java 中的命令行参数。
我已经声明了a
andb
选项,并且可以使用CommandLine.getOptionValue()
.
如何声明和访问 DIRECTORY 变量?
parsing - Scala 错误编译 OptionBuilder
我正在使用 Apache commons cli (1.2) 进行命令行解析。
我的代码中有以下内容:
我得到错误hasArg is not a member of org.apache.commons.cli.OptionBuilder
。如果我更改.hasArg
为.hasArg()
.
为什么?
顺便说一句,Java 解析得很好。
java - 使用 Apache commons 重新读取多字符串参数
o.getValue()
返回选项的值。
但是对于多 arg 输入,例如-h this is a heading
,该函数仅返回第一个字符串 ' this ';我如何获取完整的参数:this is a heading
。
java - Apache Commons CLI - 选项类型和默认值
如何给 CLI 选项一个类型 - 例如int
or Integer
?(稍后,如何通过单个函数调用获取解析值?)
如何为 CLI 选项提供默认值?这样CommandLine.getOptionValue()
或者上面提到的函数调用会返回那个值,除非在命令行上指定了一个?
java - Apache Commons CLI 选项解析器可以忽略未知的命令行选项吗?
我正在编写一个 Java 应用程序,它采用带有 GnuParser 的 Apache Commons CLI 处理的命令行参数。由于不感兴趣的原因,我希望它默默地忽略未知的命令行选项,而不是抛出 ParseException 但我看不到这样做的方法。我看到 GnuParser.parse() 上有一个 stopAtNonOption 布尔选项,但我想要的更像是 ignoreAtNonOption ,它会在遇到未知令牌后继续处理选项。
我可以实现我自己的解析器来完成这个,但我很惊讶没有内置这个功能,所以我想在走这条路之前我会检查一下。
我正在谈论的示例代码:
java - 使用 Apache commons cli 库的尾随 args
我在我们的代码库中发现了一个命令行实用程序,作者在其中编写了一个自制命令行解析器,它涉及的代码比实用程序本身更多。我决定将其切换为使用 Apache CLI,并且几乎可以正常工作。
该实用程序使用尾随 args,因此它看起来像这样:
其中“foo”、“blah”和“blarg”用作参数。
有没有办法处理这种情况?我宁愿不(也可能无权)更改此实用程序的命令行签名。
java - Using Apache Commons CLI on Debian
On a Debian system, I installed Commons CLI with apt-get install commons-cli-java
, but now I can't figure out how to compile a program with it. I've tried every permutation of setting $CLASSPATH I could think of, but nothing worked. So what is the next step after getting the library installed?
java - 如何确保在 Apache Commons CLI 中提供所有参数?
我没有看到检查是否所有选项都在 apache 的 CLI 库的 String[] 输入中提供的标准方法。也就是说 - 我的选项都在命令行中被 REUIRED,否则,我想抛出一个异常。
我尝试以下作为解决方法,但在 if 语句中出现 Nullpointer 异常...
对此进行更新: getOpt() 方法似乎提供了参数短名称。
但是,如果我将 op.getName() 替换为 opt.getLongName()... 它可以工作!
无论如何..我有两个问题:
1)为什么一个选项会有一个空名称,但一个非空 longName ?
2)有没有办法简单地确保提供所有选项 String[] ?例如,我想打电话:
java - 如何让 Apache CLI 处理双破折号?
我查看了文档,但看不到如何让 Apache Commons CLI 处理通常终止选项处理的双连字符“选项”。
考虑以下具有“-opt”选项的命令行,该选项可以采用未指定的可选参数:
在这种情况下,我希望选项最终没有参数,但 Apache 返回“--”作为参数。如果该选项允许多个参数,则部分或全部参数将作为参数返回。
这是说明该问题的示例代码: