问题标签 [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 回答
645 浏览

git-bash - Windows 终端中的 Git Bash 不呈现 Picocli ANSI 颜色代码

我已将 Git Bash 添加到 Windows 终端,如将 Git-Bash 添加到新的 Windows 终端中所述。我的个人资料如下所示:

我有一个 Picocli 应用程序,它具有帮助消息的彩色输出。当我在 Windows 终端的 Git Bash 中调用帮助消息时,它会打印 ANSI 颜色代码而不是为文本着色。为了演示这种行为,我使用了 Picocli 文档的示例应用程序:

在 Windows 终端的 git bash 中未呈现 ansi 颜色代码

当我在 Git Bash 的终端上运行相同的命令时,颜色会正确呈现:

windows git bash终端中正确的颜色输出

问题

如何让 Windows 终端中的 Git Bash 在 Picocli 应用程序中呈现 ANSI 颜色?

附加信息

如下图所示,在 Windows 终端中的 Git Bash 中可能会发生正确的文本着色(我用机器人框架演示了这一点,它不使用 Picocli),所以我的问题是 Picocli 特有的。

在 Windows 终端中的 git bash 中着色

0 投票
1 回答
924 浏览

java - Graal native-image 命令返回错误“请指定包含主入口点方法的类”

我使用 gradle 构建的应用程序无法使用 graal 的本机图像命令打包。

我使用以下方法构建组合 jar:

然后,我使用以下命令测试我的 cli 应用程序:

输出是我所期望的,所以很好。但是,然后我想使用 graalvm 创建本机二进制文件。所以我运行这个命令:

它立即失败并出现以下错误:

我觉得这很奇怪。我尝试的下一件事是按照错误提示指定主类:

这给了我一个不同的错误:

我不知道这个错误是什么意思。这是我正在使用的java版本:

任何帮助是极大的赞赏!

0 投票
1 回答
316 浏览

kotlin-exposed - 如何使用 picocli 从属性中读取值并使用它连接 postgres

我使用 picocli,我想构建 cli 从数据库中获取数据并将其发送到另一个服务。所以我配置看起来像

当我执行时,它连接成功。但我不想从 args 解析值。我想从我的文件属性示例中读取:db.propertiesdb.yml。怎么做?

我搜索了文档 picocli,但找不到任何内容。所以现在我在我的 postgres 中使用 org.jetbrains.exposed:exposed crud。它可以与 picoli 一起使用吗?如果从数据库中获取数据并将其发送到另一个 api,是否有任何建议的框架?非常感谢

0 投票
1 回答
1115 浏览

java - 让 Picocli 与 Springboot 应用程序一起工作

我必须将大型 Spring boot 应用程序转换为灵活的 CLI 工具,其中 Spring boot 应用程序发送的请求(除其他外)由命令行中的用户输入确定。我决定使用 picocli 来实现命令行功能,但是如果用户传递给定的选项标志,我什至无法弄清楚如何做一些简单的事情,比如将一些文本打印到标准输出,Spring boot 只是像往常一样运行。我应该怎么写这样 picocli 可以与 Spring boot 一起运行(并最终控制所有 Spring boot 的东西)

0 投票
0 回答
66 浏览

kotlin - 无法使用 picocli 和 micronaut 连接数据库

我使用 picocli 连接数据库并构建原生图像。当我执行由 picocli 本地构建的图像时,我使用 micronaut 连接到 postgres 获取一些数据。但是我在使用 entityManager 时遇到了问题。当我使用 @Inject 使用实体管理器时,它总是抛出异常

通过下面的代码

然后我打电话的服务看起来像

我的应用程序

但如果我使用 http 客户端,它就可以工作。 https://dev.to/stack-labs/cli-applications-with-micronaut-and-picocli-4mc8 我不知道为什么不能使用 entityManager 。如何使用 picocli 连接数据库

0 投票
1 回答
90 浏览

java - 程序正常退出后打印错误消息

我正在 picocli 中编写一个 CLI 应用程序,它将执行用户指定次数的操作,然后在此之后正常退出。但是,当程序退出时,picocli 会打印一个“未知选项”错误,即使程序已经识别出选项已成功运行。

错误输出如下:

任何想法为什么会发生这种情况?

以下是代码结构的概述:

Command Line Runner,创建 Picocli 的 CommandLine 实例

春季启动应用程序:

CommandSample 类中的选项,即 @Command 正确的

0 投票
0 回答
51 浏览

kotlin - 如何在子命令 picocli 中使用父命令

我使用 picocli 并且我的命令 connect db 看起来像

现在我有命令:StudentService

现在我想当我调用命令 studentService 时,它​​会自动 connectDb 。如果用户没有指定主机、端口或用户名,它总是从我的属性中获取默认值。如果用户特定的主机,端口它自动解析。怎么做 ?当我只调用命令时:数据库?这行得通。如果我不输入任何信息,它会获得数据库默认值吗?但我不知道将命令数据库集成到 studentService

0 投票
0 回答
144 浏览

kotlin - 使用 build gradle 和 picocli 时如何将参数传递给 kotlin

我使用 kotlin、gradle 和 picocli 构建原生镜像。我的配置看起来像:

申请文件:

应用程序.yml

当我运行./gradlew run --args="studentService someName"它运行成功。如果我没有特定的信息数据库,它会从application.yml. 当我指定./gradlew run --args="studentService someName --host=abc"它获取主机 abc 并连接数据库时。它工作得很好但是当我在构建过程中使用命令时,./gradlew assemble我不知道如何在构建过程中指定特定的主机、端口或用户名,因为我只想构建一次并永远使用。当我明确./gradlew assemble --host=abc它不起作用时。每次构建和运行时如何具体参数。我不希望每个运行的 jar 都必须使用特定的主机端口或用户名。谢谢

0 投票
1 回答
30 浏览

java - 我可以用 picocli 做可滚动的结果吗?

我想知道我是否可以使用 picocli 应用程序实现可滚动的结果。例子:

输出结果列表

用户可以向上或向下滚动并选择他想要的曲目?我想知道这个功能是否可以通过 picocli 实现?

0 投票
1 回答
74 浏览

java - 应用程序在 Intellij 中运行良好,但打包成 exe 文件时无法运行

我使用picocli构建了一个非常简单的命令行应用程序,我想将它打包成一个可执行文件。我首先使用 Maven 包将其打包成一个jar文件,然后按照 SO 上的几个用户的推荐使用Launch4J来获取可执行文件。但是,当我Application.exe在命令提示符下运行时,它会引发 NoClassDefFound 错误。

该应用程序在 IntelliJ 中执行时运行良好。我尝试通过查看与这些类似的答案来添加我创建的自定义 jar 文件,但它似乎没有帮助。我也尝试更改执行文件夹,但这也不能解决错误。