问题标签 [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.
java - Picocli:需要某些参数
picocli 是否可以实现以下功能?
有效的:
-A (-B | -C)
-D (-B | -C) [(-B | -C) ...]
(不需要-A / -D)
无效的:
-B 不带 -A 或 -D
-C 不带 -A 或 -D
-A 与 -B 和 -C
-D 与 -B 和 -C
-A 不带 (-B | -C)
-D 不带 (-B | -C)
谢谢!
java - 如何将 picoCLI 项目变成命令?
我有一个带有命令行变量的工作项目。当我使用命令行选项在 IntelliJ 中运行它时它可以工作,我如何将它变成一个完整的终端命令?
kotlin - picocli - 指定时自动解析文件
我有一个带有多个子命令的 CLI,其中一些子命令有一个可选标志-f
,可以使用该标志指定输入文件,例如
输入文件格式可能因命令而异。理想情况下,如果文件被指定为参数,我想自动解析文件。此外,每个命令的文件内容可能不同(但将是特定格式,CSV 或 JSON)。
例如我想要这样的东西
如果这是可能的或如何做到这一点,有人会知道吗?
java - 如何获取所有 npm 安装日志并将它们写入 java cli 应用程序?
我正在使用 java picocli 构建一个命令行应用程序,它基本上包装了 npm、maven、git、azure 和一些我想要预先完成的实用程序命令。我的问题是,例如,当 npm install 运行时,它会打印一整套内容,例如关于它安装的所有内容和日志的警告,以及写入大量内容的进度条。有什么方法可以模拟我的应用程序吗?现在我有这个来运行一个进程:
有什么方法可以让我获得其他打印件以及进度条吗?现在我只得到最后的 5 行,说明安装后漏洞的数量?
java - 安排任务的 Cli java 应用程序,释放 cmd/终端并在预定时间执行任务
我正在尝试使用 spring 和 picocli 在 java 中执行 cli 应用程序,您可以在 cmd 上启动它,并通过对话框进行一些配置来编写任务,(在这种情况下,在同一个 cmd 上显示“警报消息”。)我使用了 Timer 和 TimerTask 并且它可以工作,但是在应用程序执行此任务并完成之前,我无法在 cmd 上执行任何其他操作。
我希望配置任务,完成此配置对话框,能够使用命令行执行任何其他操作,并在预定的日期和时间在 cmd 上打印一条消息,或者每 XX 分钟打印一条循环消息。
我花了很多时间试图寻找解决方案,但可能这是不可能的......
我认为可能是一个很好的解决方案的其他选项是一种从 cmd 中的任何位置使用自定义命令(作为环境变量)并与在后台连续运行的应用程序交互的方法。这样,cmd 将只是一种在后台从该应用程序发送或接收信息的通信方式。
但同样,我也没有找到任何方法来做到这一点。
有没有办法做这两个选项中的任何一个,或者你有其他想法来完成这个任务?
提前致谢!
java - 在 Picocli 的单元测试中检查选项的值
在使用picocli的实用程序的单元测试中,我想断言 picocli 为选项分配了正确的值。如何在单元测试中获取与选项关联的值?
这是单元测试的当前版本:
spring-boot - Picocli Spring Boot CLI 应用程序
我正在尝试使用 picocli 创建一个 Spring Boot CLI 应用程序。我按照教程中提到的步骤进行操作,但是当我启动服务时,整个流程都会运行。我想要的是从终端调用命令,然后只有流程应该触发。谁能帮我解决这个问题。下面是我的代码。
组件类
java - picocli:如果没有给出参数,则显示帮助
当我在没有参数的情况下运行我的 CLI 应用程序时,我想自动显示帮助。我已经看到这个问题在 StackOverflow 上多次出现。我花了很多时间弄清楚这一点,我已经阅读了官方文档,查看了文章,但仍然不清楚如何实现这一点。
这就是我所拥有的:
主班
处理show-user函数的类:
处理create-user命令的类:
案例1:当我调用这个应用程序时-h
,帮助会正确显示:
案例 2:显示第一个函数的帮助,调用show-user -h
:
案例 3:为第一个函数提供帮助,调用create-user -h
:
案例 4:在没有参数的情况下调用我的应用程序显示:
我的问题很简单:
当我在没有参数 ( ) 的情况下运行 CLI 工具时如何显示帮助Case 4
?
我想我需要HelloCli.call()
使用一个循环将自定义代码添加到方法中,该循环从实现这些功能的两个类中收集帮助文本。但不确定如何。对于这个流行的用例,我还没有找到任何示例代码。
我的附加问题与第一个问题类似:我能否以某种方式显示从Case 2
和中的所有内容一起显示的全部帮助Case 3
?
java - 如何在 picocli 中添加接口的字段作为选项?
我在重构使用 picocli 的代码时遇到问题
这是示例
目前,我的 cli 工具的工作方式类似于
尽管 A 类和 B 类都运行良好,但在重构我的代码时,我想使用接口将公共变量放在一个位置。像这样
但是,当我执行包含所有选项的应用程序时,编译界面的选项时出现故障。
是不是不可能给界面中的变量选项?
感谢您阅读
java - 将 picocli 与 picocli-shell-jline3 和配置的 java 模块一起使用会导致未命名的模块读取包编译错误
在具有多模块的项目中,我们希望使用 picocli 和 jline 来构建控制台应用程序。我们为每个模块创建了一个 module-info.java。但是使用 picocli 我们无法编译我们的应用程序。我们有很多错误,比如
我们在 gradle 中包含了以下依赖项
我们的java-modules.info
样子
我遵循了常见问题解答https://github.com/remkop/picocli/wiki/Java-9-modules中的建议,但没有成功。
如果我们禁用 java 模块,则可以构建并运行应用程序。
有没有人有类似的问题并知道一些建议?