问题标签 [jcommander]

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 投票
3 回答
5983 浏览

java - 如何安装 JCommander 并在我的程序中使用它?

我正在做一个项目,我想使用 JCommander 来解析命令行输入。但我不知道如何将它添加到我的机器并使用它。

这是JCommander 的 GitHub 页面。那么在下载代码的 zip 文件后如何将它添加到我的机器中呢?

我现在没有使用任何 IDE(使用 Sublime 文本和命令行)。

0 投票
1 回答
1039 浏览

java - jCommander - 下一个参数被视为一个值

我对 JCommander 有疑问。如果所需的参数 iam testing 没有值,我希望程序抛出异常。当我忘记向最后一个参数添加值时,我想要的这个异常就会发生。

示例(注意:所有参数都是必需的和字符串):

com.beust.jcommander.ParameterException:参数后需要一个值--comfirmPassword

如果我忘记为其他参数添加值,则将下一个参数视为该值。

由于这种行为,无法再找到 --password 并且我得到了错误的异常。

com.beust.jcommander.ParameterException:需要以下选项:--password

有没有办法告诉 jCommander 他不应该将下一个参数视为一个值?

0 投票
2 回答
1550 浏览

java - jCommander - 为未知和未使用的值抛出异常?

我正在使用 JCommander 1.48,我遇到了以下问题:

例如,我有这些参数:

我正在使用以下参数运行我的程序:

和:

它们都相当于相同的解决方案,程序运行完美。但是如果参数的值太多,我希望程序抛出异常。我知道“arity”(参数值的数量)作为@Parameter 注释的配置,但字符串的默认值是 1。似乎在第一个值之后,一切都被忽略了,只要它不是另一个参数。

有什么解决方案或想法吗?

编辑:

基本解决方案(由 assylias 发布)对我不起作用。更准确的例子:

这是在实际程序代码开始之前发生的一切。

编辑: assylias 更新的答案解决了这个问题。

0 投票
1 回答
4538 浏览

java - 如何使用 JCommander

我有一个我下载的示例代码并想运行它,问题是它使用 JCommander 加载一些配置,我没有配置文件但它想加载一个,所以我想知道;我如何使用 JCommander,我阅读了文档,并根据该站点,它是一个用于解析命令行参数的框架,但我真的不明白这意味着什么,这个错误真的让我无法完成我的项目,这是请求的代码对于.conf文件:

这是 CliOption 类

}

0 投票
0 回答
356 浏览

java - Java Bad path 警告,并使用我的 makefile 导入错误

当我运行我的程序时,我得到下一个错误:

我的存储库和所有代码的链接是:https ://bitbucket.org/IgnaMade/javasapp/src/da33bb2f63267d59c933e734b2155f78d037df31?at=master

在 Menu.java 的第一行中,我输入:

目录结构如下:

在 Lab2 中有 nexts 目录:

src:包含所有 .java 文件

bin:所有 .txt 文件所在的位置

lib:包含 jcommander.jar 和目录 com

生成文件

自述文件

Makefile 使用如下路径:

在 Ubuntu 中它可以工作,但现在我使用 Windows 并在 cygwin 上运行,但它不起作用。我不明白为什么。

0 投票
0 回答
648 浏览

java - 解释多个“命令”样式参数

JCommander 有一个很好的特性,它被称为命令。他们给出的示例如下所示:

是否可以配置 JCommander(或任何其他命令行解析器)以接受多个命令?例如:

这是我尝试过的。

CommandDrawCircle.java

CommandMain.java

主.java

最后一行是我卡住的地方。它只返回一个值,而不是命令列表。有没有办法拥有多个命令?

0 投票
1 回答
489 浏览

selenium - 通过 Selenium 3.0.0 beta3 启动集线器时无法定义 maxInstances

我一直在使用selenium-server-standalone-2.53.0.jar,最近尝试升级到 version 3.0.0-beta3

我正在尝试使用 maxInstances 参数和以下命令启动集线器:

这在 中有效2.53.0,但在3.0.0-beta3我遇到以下异常:

显然maxInstances不再是一个有效的论点。我已经搜索了有关可能为使用该maxInstances参数所做的任何更改的文档,但我没有运气。有没有其他人遇到过这个问题,或者是否有人知道以3.0.0-beta3类似方式启动集线器的正确方法?

0 投票
0 回答
309 浏览

interactive - JLine Java 程序不能通过 IntelJ 控制台进行交互

我想通过 IntelJ 运行 Java 程序,该程序使用 Jcommander 使其能够从控制台获取命令并对其进行处理,问题是当前控制台不是交互式的,这意味着它会打开提示符,但除了任何输入外都没有,我知道应该将一些 VM 参数添加到 IntelJ 运行配置中以使控制台具有交互性,有人知道它是哪个 VM 参数吗?或者关于如何让控制台交互的任何其他建议?

代码卡在这一行:

控制台如下所示:

当我通过可执行 jar 运行它时,它工作正常,用户可以与程序交互。

  • 更正:程序使用 Jcommander 但实际的 consoleReader 是 JLine
0 投票
0 回答
24 浏览

java - 如何为 CLI 命名而不是通过 java 运行

我正在使用 JCommander 构建命令行界面。它是一个 Maven 项目。我有一个主要的,它正在做所有的控制。假设,我的应用程序主 java 文件是 - AbcMain.java。我可以运行它 - javac AbcMain.java java AbcMain

我想要的是,能够像任何其他命令一样运行 - AbcMain

即不必通过java 命令运行。

0 投票
2 回答
815 浏览

javascript - node.js 命令行程序(使用命令节点模块)在执行时打开 index.js

我正在使用command@2.9.0。附上下面的代码

包.json

index.js

在命令行中执行时,

index.js 文件在命令行中打开而没有任何输出

执行时,

输出是

我错过了什么?