问题标签 [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.
java - 在 CRaSH shell 中过滤 Spring beans(Spring-boot 远程 shell)
在 Spring-boot 远程外壳 CRaSH 中,我可以将所有 Spring bean 以 JSON 格式转储到屏幕上:
... ETC
但我找不到过滤该输出的方法:
我从内部“手册”页面看到该beans
命令生成 Object 并filter
消耗Map
,因此失败是有道理的。
如何从 CRaSH shell 获取有关单个 bean 的信息?
spring - 如何运行独立/交互式 Spring Boot CRaSH Shell 应用程序?
我想运行一个嵌入 CRaSH shell 的 Spring Boot 应用程序,但不是通过 SSH/Telnet 访问,而是希望 CRaSH shell 在没有任何密码的情况下在当前控制台(即直接/独立)中启动,只要 Spring 完成初始化它所有的豆子。
当用户键入exit
或按 Ctrl+D 时,应用程序应关闭。
此外,应禁用 SSH 和 Telnet 支持。
PS。如果应用程序可以从标准输入读取命令,则加分,例如
java - Spring Boot 额外的 Crash 命令
根据Spring boot 文档,在使用基于 Crash 的远程 shell 时可以定义额外的命令。
这些命令的默认位置是 classpath*:/commands/ ,classpath*:/crash/commands/
属性可用于覆盖默认位置,但在提供的示例中,自定义命令位于资源中。
在我看来,自定义命令(至少是 java 命令)不应位于资源中,而应位于 src/main/java 中。
在资源中定义自定义路径时效果很好,但是如何在 src/main/java 中定义自定义路径?暂时没找到办法!
spring-boot - 崩溃外壳 - 配置和使用
我有一个使用 spring-boot 的名为 ROCServerEntrypoint 的应用程序。我想运行这个嵌入 CRaSH shell 的 Spring Boot 应用程序。我添加了以下 Maven 依赖项。
根据需要,我在 spring beans.xml 中添加了以下配置,以通过 SSH 启用远程访问。
我不知道下一步该怎么做。我是 linux 系统概念的新手。请简要解释远程访问它的含义以及崩溃外壳对此有何帮助?
此外,尝试通过 SSH 连接,它抛出以下
我在这里缺少什么吗?
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 会话已经结束。
java - 为什么附加的 CRaSH shell 在发出命令时会抛出 NullPointerException?
将CRaSH shell 附加到正在运行的 java 进程后,使用
> crash.bat pid
用JDK启动CRaSH,调用help命令返回错误
% 帮助
帮助:异常:NullPointerException
这意味着这些命令没有被编译。尽管使用 JDK 启动 CRaSH shell,为什么会发生这种情况?
java - 如何在 Spring Boot 远程 shell 中将参数和选项传递给自定义远程 shell 命令?
这是关于的后续问题
如何使用 Spring Shell 在 Spring Boot Web 应用程序中构建控制台命令?
根据上述问题的建议,我正在尝试 Spring Boot 远程 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,所以我进行了自动装配,例如
java - Springboot 远程 shell : CRASH : SLF4J 命令集
使用 Spring 的 remoteshell,我可以看到有一组“jul”命令来管理日志记录:
http://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-remote-shell.html
SLF4J 是否有等效的设置?
java - 使用继承的 Groovy 命令无法在 Spring Boot 远程 shell 中编译
我有一个抽象的 groovy 类,其中包含一些我想从其他 groovy 命令类扩展的实用方法(用于 Spring Boot 的远程 shell)。但是,当我尝试运行 groovy 命令类时,我得到一个CommandException
.
我的 groovy 抽象类如下所示。
我的 groovy 命令类如下所示。
当我 SSH 进入 shell 并执行时,foo bar
我得到以下异常。
如果我从和类中删除该package commands
行,那么 IDE (IntelliJ) 和 shell 都会抱怨找不到。abstractcmd
foo
abstractcmd
abstractcmd
如果我不扩展(从而在命令类中实现“util”方法)并删除该package
行,我能够使自定义命令正常工作的唯一方法是。
我正在使用 Spring Boot v1.5.1.RELEASE。
关于我做错了什么的任何想法?