我可以在Apache Commons CLI中用连字符创建选项名称吗?

son*_*lir 6 java apache-commons-cli

我正在尝试使用Apache Commons CLI Java库在“名称”中设置选项名称,例如“源文件”。

Option option = new Option("source-files", true, "List of source files")
Run Code Online (Sandbox Code Playgroud)

我得到这个错误,

java.lang.IllegalArgumentException: opt contains illegal character value '-'
at org.apache.commons.cli.OptionValidator.validateOption(OptionValidator.java:73)
at org.apache.commons.cli.Option.<init>(Option.java:123)
at org.apache.commons.cli.Option.<init>(Option.java:105)
Run Code Online (Sandbox Code Playgroud)

这意味着我不能在选项名称中使用连字符,这是unix命令的标准名称。我注意到Commons CLI文档在其示例中提到了带连字符的选项名称。我在这里想念什么吗?

Thi*_*ilo 6

您只能-在“长名”中使用:

options.addOption("S", "source-files", true, "List of source files")
Run Code Online (Sandbox Code Playgroud)

如果只想使用长名,则可能需要使用OptionBuilder(不确定)。