如何在没有 spring 框架的情况下在 Java EE 应用程序中创建类似 Spring Shell 的 CLI?

How to create a CLI like Spring Shell in Java EE application without spring framework?

我在项目中使用了Springshell,效果很好。

现在我们在 JBoss 应用程序服务器上有一个 Java EE 项目。我想要一个好的CLI,就像Springshell一样。如何做到这一点?

据我了解您的要求,Spring Shell 并不适用于此。 Spring Shell 在实际终端中有点依赖于 运行,利用 JLine。可以编写另一个实现(类似于 "running in IDE" 方法)扫描 MethodTargets 并运行它们,从您的(自定义)webapp 获取输入。

也许 http://www.crashub.org/ 更符合您的要求。

我会使用 Swagger 通过 REST 公开所有 JBoss 服务 API。然后生成swagger.json并在Swagger Editor中导入,自动生成Java客户端并从SpringShell客户端调用。我知道这有点迂回,但不幸的是现在我不知道如何在 Java EE 应用程序中集成 Spring Shell。 您甚至可以自动生成 Java 客户端 https://www.baeldung.com/spring-boot-rest-client-swagger-codegen