问题标签 [picocli]

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

java - picocli:为什么这个 JUnit 测试失败了?

测试将无法正确运行尝试运行 JUnit 测试错误

我的 JUnit 测试:

测试失败。

0 投票
1 回答
172 浏览

picocli - picocli 子命令可以有同名的选项吗?

我有一个执行不同类型统计分析的程序。我想为每种类型的分析定义一个子命令。父命令将是程序的主要入口点。当我的子命令具有相同名称的选项时,我收到一条错误消息,提示“选项只能指定一次”。问题似乎是我如何调用子命令。在下面的示例中,input1 和 input2 工作正常。当我尝试同时使用两个子命令 (input3) 时,我收到一条错误消息。

下面的代码演示了这个问题。如果输入包含两个子命令(即 input3),我会收到错误消息“索引 0 () 处的选项 '-id' 应仅指定一次”。

如何像在 input3 中一样同时调用两个子命令?

我期望看到的输出是:

==Test1==
频率
ID = 1001
表 = ex1

==Test2==
直方图
ID = 1002
表 = ex5

==Test3==
频率
ID = 1001
表 = ex1
直方图
ID = 1002
表 = ex5

0 投票
1 回答
65 浏览

picocli - Picocli:可以使用注释配置解析器吗?

我使用 PicoCLI 来解析参数。我需要指定setStopAtPositional(true)其中一个子命令。有没有办法通过注释来做到这一点?目前我这样做:

但是最好在指定提交命令的方法中指定它以将整个规范集中在一个地方。

我的班级有这样的结构:

0 投票
1 回答
100 浏览

java - 在 PicoCLI 中拆分命令

picocli用来实现一个 cli 工具,我有一个如下所示的命令。

mainCommand subCommand <parameter1>:<parameter2> parameter3

我的问题是如何使用 picoCli 注释将parameter和映射parameter2为 picoCli 参数。以下是我对注释的处理方法。

以上是注释参数的正确方法还是有更好的方法来实现注释。请指教。

0 投票
1 回答
1206 浏览

java - 在 picocli 中实现交互式确认

在使用 picocli 构建的 CLI 应用程序中,实现交互式确认的最合适方法是什么?

场景是,当某个命令运行时,我需要得到用户的确认才能执行某个任务。我使用了interactive optionpicocli 文档中提到的,但它没有按预期工作。

运行命令时,上述选项似乎不会触发用户输入。

任何想法?

0 投票
2 回答
453 浏览

shell - JLine 中的 Picocli 命令层次结构

我正在使用 Pico CLI v4.0.0-alpha-3 和 jline v3。我有以下课程(使用注释)。当我运行主类时,我似乎无法运行命令并调用可调用对象。如果我只是传入参数,我可以调用可调用对象。

当我运行 java 应用程序并使用参数运行命令时,不会调用可调用对象。当我简单地传入参数时,可调用对象被调用。关于如何解决此问题的任何想法,以便 CLI 用户必须传入命令和参数。

0 投票
1 回答
213 浏览

picocli - 使用帮助消息中的 Picocli 选项列表对齐问题

我正在使用使用 PicoCLI v4.0.0-alpha-3 的命令。No matter which options I try, the one that shows at the top (when the list of options is displayed in the CL) is always to the right of the other options. 如何配置它以使命令的所有选项都在同一级别对齐?

在 CLI 上显示

第一个选项总是错位的。我试图确保第一个选项与其他选项处于同一级别。

0 投票
1 回答
741 浏览

picocli - 使用 PicoCLI 显示子命令的选项

我正在使用 PicoCLI v4.0.0-beta-1b。我正在使用从父命令链接的不同子命令。启动 CLI 时会显示父命令的可选参数,但不会显示子命令。子命令仅出现在命令下方(但没有选项)。如何确保子命令的选项也出现在 CLI 中?

0 投票
1 回答
383 浏览

micronaut - Picocli 命令中的注入与 micronaut 之间的互操作性

在 Micronaut 中定义 @Singleton bean 不会 @Inject 相同的实例到 Picocli 命令中。

Micronaut 提供与Picocli的集成。看起来最重要的是,从 Picocli 命令中,可以启动 Micronaut 的 EmbeddedServer(也许问题已经在这里,Micronaut 只是真正从 Picocli 内部启动?)。当我通过@Singleton 将一个类定义为单例,并在Micronaut 的Rest-endpoint 和Picocli 命令中对其进行@Inject 时,它注意到这是两个不同的实例,并且状态不一样。我主要想要的是传输通过命令行界面提供的一些状态来配置后端/Rest-service。现在我刚刚创建了静态实例来共享这个状态,但我想知道我是否可以让依赖注入在 Picocli 和 Micronaut 之间正常工作。

如果我在 UICommand 的 run() 方法中的 SharedState 实例中设置了一些状态,我希望能够从 RestResource 中读取它。因此,当我调用其余端点时,我希望返回“42”。

有没有办法以某种方式设置 Micronaut/Picocli,以便尽早启动并共享 Micronaut/Picocli 的依赖注入容器?还是 Micronaut 真的只是从 EmbeddedServer 调用开始的?在那种情况下,我必须有哪些选择才能仍然具有一些互操作性?我可以以某种方式明确地向 Micronaut 的 DI 容器询问该实例吗?

0 投票
1 回答
857 浏览

localdate - 让 picocli 解析本地日期格式

picocli 接受 2019-04-26 作为 Localdate 变量的输入,但它不接受德语日期格式 26.04.2019。
为此,您需要:

SimpleDateFormat 格式 = new SimpleDateFormat("dd.MM.yyyy",Locale.GERMANY);

你如何告诉 picocli 使用这个格式化程序而不依赖于美国日期输入?