问题标签 [args4j]

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 回答
4829 浏览

java - 使用 arg4j 的多个 args

我有一个需要从命令行解析的参数。我用于 2.0.23 版的这个 arg4j。我需要解析路径参数,并且可以在命令行中指定一个或多个路径。所以我需要解析多个参数。这是我找到的方法:

它工作正常。但我想知道它是正确的还是有更好的方法?我在 2.0.13 版中搜索到 @Option 中有参数 multipleValue,但现在看来它已经消失了。

0 投票
2 回答
1181 浏览

java - 如何使用 JCommander 添加命令行参数依赖项?

我正在使用 JCommander 进行命令行参数解析。我想添加参数依赖项,但是从 JCommander 文档中,我无法确定它是否受支持。有人试过吗?例如 java -jar Some.jar -a Foo -b Hola 所以,选项 -b 只能与选项 -a 一起使用。

在 args4j 中得到支持。但是,我不能使用 args4j 因为它不支持多个值作为 JCommander

谢谢

0 投票
1 回答
1110 浏览

java - 在 Java 中使用外部库错误:没有注册 OptionHandler 来处理类 java.lang.Object

我正在开发一个在控制台上运行的项目。有三个类文件。Main.java、User.java 选项.java。我正在使用 args4j 来解析命令行参数。

我第一次从命令行编译一个项目。我使用以下命令编译了项目:

项目构建成功,我输入以下命令来运行项目:

我收到错误:

我必须输入哪个命令来构建项目?

我的选项类:

0 投票
2 回答
5635 浏览

java - 命令行中的日期

我有一个从命令行运行的应用程序。作为它的参数之一,它具有应用程序应该开始处理某些数据的日期。日期可以有两种不同的格式yyyy-MM-ddyyyy-MM-dd HH:mm:ss. 但是当我使用第二种格式的日期运行应用程序时(例如 2012-04-18 15:05:08),它使用 -dd 和 HH 之间的空格作为参数分隔符。我得到了例外

我可以在命令行中将日期用引号括起来。但是有没有其他方法可以做到这一点,而不用包装它?

为了解析命令行参数,我正在使用org.kohsuke.args4j库。有什么建议么?

0 投票
1 回答
1410 浏览

java - 如何使用 args4j 访问子命令中的主上下文来实现子命令处理程序?

我刚刚发现了args4j,来自 commons-cli 的使用非常好!

我正在实现一个子命令处理程序,其中每个子命令都需要访问通过使用所有子命令通用的凭据登录而获得的会话对象。如果我在主类中创建会话,则子命令将无权访问。我可以在各个子命令中创建会话,但要做到这一点,我需要访问完整的参数。

简而言之,如何创建适用于所有子命令的会话?

它本身可能不是 args4j 的事情,也许在我关于子类如何获得正确上下文的想法中存在某种类型的设计差距。谢谢!

编辑:我想我可以将会话对象传递给子类。例如:

这是最好的方法吗?

0 投票
2 回答
3524 浏览

java - args4j:如果另一个参数是/没有给出,如何使一个参数是必需的?

--table且仅当没有为--in-file. 我该怎么做呢?我知道有一些解决方案(至少我认为)我可以使用多个类来做到这一点,但这对于一个简单程序中只有两个参数来说似乎有点过分了。

我知道我也可以在解析完成后手动检查值,但这似乎违背了使用 args4j 的目的。

0 投票
1 回答
2075 浏览

java - 如何将字符串拆分为shell等参数?

是参数解析器的列表,但它们接受字符串数组。

现在,我得到了一个字符串

我想将字符串拆分为

有什么工具可以做到这一点吗?

也可以看看

编辑

发布为答案。

0 投票
2 回答
1810 浏览

java - Args4j 列出包含未处理空间的参数

我正在处理一个奇怪的 args4j 错误。我正在处理列表命令行参数

这是用StringArrayOptionHandler处理的

. 当我检索列表的参数时,我得到的是

Java 文档说这应该可行

处理带引号的单个参数时没有错误。

工作得很好

谢谢

0 投票
2 回答
589 浏览

java - 删除 printUsage() 方法中的默认值。[args4j 库]

使用 printUsage() 方法时如何摆脱“(默认值:值)”? 图片

我试图查看 args4j 库的源代码并在 CmdLineParser 类中搜索 printUsage() 方法,但在那里没有找到任何东西。(链接) 只有布尔类型才会出现问题。

0 投票
2 回答
871 浏览

java - 如何使用 args4j 验证选项?

使用以下代码,

如何验证age字段?说必须大于零?