问题标签 [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.

0 投票
1 回答
725 浏览

java - Apache存储库关闭?

我正在尝试在使用 Apache Commons CLI 的 java 中构建一个程序,但我收到了这个错误 - 到目前为止它运行良好。这是否意味着 Apache 存储库已关闭?如果是这样,解决此问题的最佳方法是什么?

无法解析配置 ':compile' 的所有依赖项。

无法解析 commons-cli:commons-cli:1.3-SNAPSHOT。要求::dpg-variant-store:0.1 无法从https://repository.apache.org/content/groups/snapshots/commons-cli/commons-cli/1.3-SNAPSHOT/maven-metadata加载 Maven 元数据.xml。无法获取“ https://repository.apache.org/content/groups/snapshots/commons-cli/commons-cli/1.3-SNAPSHOT/maven-metadata.xml ”。从服务器收到状态码 503:服务暂时不可用

0 投票
3 回答
3136 浏览

java - 使用 commons-cli 创建子命令

我正在尝试使用 commons-cli 创建一个简单的参数解析器,但我似乎无法弄清楚如何创建以下选项:

我的程序的第一个参数应该是produceror consumer,定义我的程序将运行的模式。如果它处于consumer模式下,我想要一个-j参数来定义要服务的线程数。

这是我到目前为止所得到的:

当我打印出这些选项时,mode参数显示为-mode.

在 Python 中argparse,我只需执行以下操作:

这正是我正在寻找的。如何在 commons-cli 中执行此操作?

0 投票
1 回答
62 浏览

java - Apache Commons CLI 可以动态解析新的参数吗?

所以我有一个 Java 测试,它有不同的参数,由用户命名,所以我不知道“-parm”,直到运行时。我在测试中添加了标准 args,这工作正常,但是有没有办法从命令行基本上解析 arg 列表,当它遇到 parm 时,它无法识别它会将其添加到列表中飞?

0 投票
1 回答
78 浏览

java - 如何在帮助部分保留参数顺序?

我有以下参数要添加到 CLI
-sbx
-CSWConfig
-stripInfo
-modelSources
-catchArchive
-swSupplierName
-modelsSWExchnage

但是在显示帮助时,它以我不想要的排序顺序(如下所示)显示这些选项,我希望所有选项在添加时都按顺序排列。
-CatchArchive
-CSWConfig
-modelSources
-sbx
-stripInfo
-swSupplierName

我为此阅读了一个链接,但在显示帮助内容时无法保留顺序。

0 投票
1 回答
314 浏览

java - Apache Commons CLI 允许参数选项或无参数选项

简单地说,我想知道是否可以让参数接受选项或不接受选项。这对于列表很有用。示例:-a将列出可能的选项,同时-a stuff将使用这些东西来做事。

这是我当前的代码:

键入-f正确地列出了外观和感觉,而指定它-f com.laf.LookAndFeel仍然列出它。有任何想法吗?

0 投票
1 回答
2337 浏览

java - 如何使用 Apache Commons CLI 解析属性文件和 --help 选项?

我有一个像这样的属性文件 -

现在我正在从我的 Java 程序中读取上述属性文件,如下所示。到目前为止,我正在以手动方式解析上述属性文件-

大多数时候,我将通过命令行将上面的程序作为可运行的 jar 运行,如下所示 -

我的问题是——

  • 有什么方法可以--help在运行时添加选项abc.jar,可以告诉我们更多关于如何运行 jar 文件以及每个属性的含义以及如何使用它们的信息?我--help在运行大多数 C++ 可执行文件或 Unix 东西时见过,所以不确定我们如何在 Java 中做同样的事情?

我是否需要在 Java 中使用类似的命令行解析器Commons CLI来实现这一点,而不是手动解析,我也应该使用它Commons CLI来解析文件?如果是,那么任何人都可以提供一个例子,我将如何在我的场景中做到这一点?

0 投票
1 回答
8094 浏览

java - 使用 Apache Commons CLI 的互斥选项

我可以使用以下方法创建 2 个互斥选项:

以上将强制用户提供选项 a 或选项 b。

但如果我有第三种选择,c:

是否可以创建互斥选项,例如:

任何一个:

  1. 必须提供选项 a 或
  2. 必须提供选项 b 和 c

我看不到使用 OptionGroup 的方法吗?

0 投票
1 回答
3430 浏览

java - 指定附加值时,Java Apache Common CLI 双连字符选项失败

仅供参考:我在 Windows 机器上运行这个 Java 程序。我确信这很重要。

基本上,我在为带有双连字符的选项指定值时遇到问题。单连字符选项工作正常。

程序失败并出现错误:

线程“主”org.apache.commons.cli.UnrecognizedOptionException 中的异常:无法识别的选项:--input file.txt

如果我将参数指定为-i file.txt,则没有错误。如果参数是--input,也没有错误。为什么双连字符选项不接受任何值?它与解析器有关还是我在 Windows 机器上运行它?

我在这里做错了什么?任何帮助,将不胜感激。

非常感谢。

0 投票
1 回答
95 浏览

java - 如何将尾随参数定义为选项的一部分?

我想解析以下格式的命令:mycmd source dest.

如果找不到源或目标,我希望解析器失败。如何使用Apache Commons CLI将尾随 args 定义为选项的一部分?

我找不到办法。我有一种感觉,这是做不到的。如果可以定义尾随 args,我就不需要手动将它们添加到帮助中 - 如本解决方案中所述。

0 投票
0 回答
555 浏览

java - 使用 Commons CLI 重复选项组?

我对解析命令行选项有一组特定的要求。我的意图与 Linux beep 命令没有什么不同,您可以在其中指定多个不同频率和持续时间的哔声。我只是碰巧在使用 4 位颜色。

有效输入系列的示例:

-z 或 --zone 是启动新选项组的分隔符。可以使用 -r/g/b 设置或 --color 指定颜色。我希望自己处理解析。

无效输入示例:

这正好说明了为什么我不能只使用一系列选项。我的程序需要能够识别并提醒在--zone=1与下一个区域之间,它没有找到一个-b,在参数之间-z 3和结尾之间,它找到了两个-b。使用 提供的数组getOptionValues(),我只会看到 -r/g/b 各有两个,并假设没有问题,因为它们与任何类型的父级或组无关。

我需要知道 Commons CLI 是否可以处理重复的选项,或者我是否需要切换到另一个解析器,或者我是否最好为公认的少量选项编写自己的解析器。