问题标签 [crash-shell]

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

java - 在 CRaSH shell 中过滤 Spring beans(Spring-boot 远程 shell)

在 Spring-boot 远程外壳​​ CRaSH 中,我可以将所有 Spring bean 以 JSON 格式转储到屏幕上:

... ETC

但我找不到过滤该输出的方法:

我从内部“手册”页面看到该beans命令生成 Object 并filter消耗Map,因此失败是有道理的。

如何从 CRaSH shell 获取有关单个 bean 的信息?

0 投票
1 回答
994 浏览

spring - 如何运行独立/交互式 Spring Boot CRaSH Shell 应用程序?

我想运行一个嵌入 CRaSH shell 的 Spring Boot 应用程序,但不是通过 SSH/Telnet 访问,而是希望 CRaSH shell 在没有任何密码的情况下在当前控制台(即直接/独立)中启动,只要 Spring 完成初始化它所有的豆子。

当用户键入exit或按 Ctrl+D 时,应用程序应关闭。

此外,应禁用 SSH 和 Telnet 支持。

PS。如果应用程序可以从标准输入读取命令,则加分,例如

0 投票
2 回答
1184 浏览

java - Spring Boot 额外的 Crash 命令

根据Spring boot 文档,在使用基于 Crash 的远程 shell 时可以定义额外的命令。

这些命令的默认位置是 classpath*:/commands/ ,classpath*:/crash/commands/

属性可用于覆盖默认位置,但在提供的示例中,自定义命令位于资源中。

在我看来,自定义命令(至少是 java 命令)不应位于资源中,而应位于 src/main/java 中。

在资源中定义自定义路径时效果很好,但是如何在 src/main/java 中定义自定义路径?暂时没找到办法!

0 投票
1 回答
777 浏览

spring-boot - 崩溃外壳 - 配置和使用

我有一个使用 spring-boot 的名为 ROCServerEntrypoint 的应用程序。我想运行这个嵌入 CRaSH shell 的 Spring Boot 应用程序。我添加了以下 Maven 依赖项。

根据需要,我在 spring beans.xml 中添加了以下配置,以通过 SSH 启用远程访问。

我不知道下一步该怎么做。我是 linux 系统概念的新手。请简要解释远程访问它的含义以及崩溃外壳对此有何帮助?

此外,尝试通过 SSH 连接,它抛出以下

我在这里缺少什么吗?

0 投票
1 回答
433 浏览

java - 在 Spring Boot 中使用 CRaSH 命令获取用户名

短篇小说:如何将 CRaSH shell 的 ssh 连接器中使用的用户名传递给自定义的 Java 方法?

不那么短的故事:我为 Spring 创建了一组自定义 shell 命令。身份验证是通过 ssh 连接器完成的,其中输入了用户名和密码,如下所示ssh foobarUsername@localhost -p 2000。它进入 Spring 中的身份验证策略,并相应地通过或拒绝。

现在在被授权并进入 shell 之后,我需要获取用户名来运行一些功能。在这种情况下,我需要找出如何传递foobarUsername到我创建的 java 方法中,这些方法@Command使用BaseCommand.

我的 Java 实现,后来由 CRaSH 的 groovy 脚本扩展:

ssh 连接器是这样的: ssh foobarUsername@localhost -p 2000

更新: 默认情况下,我的 shell 命令的身份验证是由 Spring 自己的AuthenticationManager. 在我通过 SSH 发送请求时,身份验证在 Spring 的会话中。然后它进入外壳,我尝试了我的任何一个命令。main()通过在of 中设置断点FooCommand,我发现应该有之前发送的身份验证请求的上下文已经消失了。显然,在我输入命令之前,接收、处理和返回身份验证的 Spring 会话已经结束。

0 投票
1 回答
47 浏览

java - 为什么附加的 CRaSH shell 在发出命令时会抛出 NullPointerException?

将CRaSH shell 附加到正在运行的 java 进程后,使用

> crash.bat pid

用JDK启动CRaSH,调用help命令返回错误

% 帮助

帮助:异常:NullPointerException

这意味着这些命令没有被编译。尽管使用 JDK 启动 CRaSH shell,为什么会发生这种情况?

0 投票
1 回答
1210 浏览

java - 如何在 Spring Boot 远程 shell 中将参数和选项传递给自定义远程 shell 命令?

这是关于的后续问题

如何使用 Spring Shell 在 Spring Boot Web 应用程序中构建控制台命令?

根据上述问题的建议,我正在尝试 Spring Boot 远程 shell。

我按照这个文档创建了我的自定义命令,

http://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-remote-shell.html#production-ready-extending-the-remote-shell

但在现实世界的用例中,我们主要有参数和选项来命令。文档中没有提到如何定义它们,以便用户在运行命令时应该通过。

这在spring-shell中得到了很好的解释并且很容易做到。

http://docs.spring.io/spring-shell/docs/current/reference/htmlsingle/#simple-application

https://projects.spring.io/spring-shell/

但是我们不能将弹簧壳与弹簧靴一起使用。

对于此类用例,有哪些可靠的生产就绪解决方案?

更新:

在 CRaSH 文档上找到了解决方案

http://www.crashub.org/1.3/reference.html#developping_commands

登录到 shell 后,我可以在命令列表中看到 myCommand,但是当我运行命令时,

但我得到了例外

我正在尝试在命令中使用 spring bean,所以我进行了自动装配,例如

0 投票
1 回答
77 浏览

java - Springboot 远程 shell : CRASH : SLF4J 命令集

使用 Spring 的 remoteshell,我可以看到有一组“jul”命令来管理日志记录:

http://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-remote-shell.html

SLF4J 是否有等效的设置?

0 投票
1 回答
266 浏览

java - 使用继承的 Groovy 命令无法在 Spring Boot 远程 shell 中编译

我有一个抽象的 groovy 类,其中包含一些我想从其他 groovy 命令类扩展的实用方法(用于 Spring Boot 的远程 shell)。但是,当我尝试运行 groovy 命令类时,我得到一个CommandException.

我的 groovy 抽象类如下所示。

我的 groovy 命令类如下所示。

当我 SSH 进入 shell 并执行时,foo bar我得到以下异常。

如果我从和类中删除该package commands行,那么 IDE (IntelliJ) 和 shell 都会抱怨找不到。abstractcmdfooabstractcmd

abstractcmd如果我不扩展(从而在命令类中实现“util”方法)并删除该package行,我能够使自定义命令正常工作的唯一方法是。

我正在使用 Spring Boot v1.5.1.RELEASE。

关于我做错了什么的任何想法?