启动基于Spring-Shell的应用程序而不是交互式

Cen*_*giz 4 spring-shell

是否可以启动Spring-Shell应用程序的特定命令,然后在命令完成后返回/退出shell?还可以将应用程序的退出代码(System.exit)公开给操作系统shell吗?

为了我的目的,我将利用插件机制和Spring-Shell的CLI-Annotations.但一般情况下,应用程序没有人工交互,而是作业调度程序(UC4)将启动应用程序并检查退出代码以在退出代码不等于0的情况下生成电子邮件.另一方面,用于手动测试我们的客户还需要完成标签,使用帮助等.

ebo*_*ard 5

此行为已经内置(虽然我们考虑删除它,或者至少使其成为可选项).我现在看到它很有用:)

只需使用(唯一)命令调用shell,shell就会启动,执行命令并退出.此外,shell的返回码已经指示是否存在错误(例如,尝试使用不连续的命令).当然,如果您的自定义命令没有正确指示错误(即打印错误消息但执行正常返回),这将不起作用.你应该抛出异常.

  • 似乎在2.0中删除了这种支持.在最新版本中使用它的最佳实践文档的链接将使这个答案更好一些. (2认同)