34 lines
982 B
Markdown
34 lines
982 B
Markdown
### 43.2.1. 远程shell命令
|
||
|
||
你可以使用Groovy或Java编写其他的shell命令(具体参考CRaSH文档)。默认情况下,Spring Boot会搜索以下路径的命令:
|
||
* `classpath*:/commands/**`
|
||
* `classpath*:/crash/commands/**`
|
||
|
||
**注**:可以通过`shell.commandPathPatterns`属性改变搜索路径。
|
||
|
||
下面是一个从`src/main/resources/commands/hello.groovy`加载的'hello world'命令:
|
||
```java
|
||
package commands
|
||
|
||
import org.crsh.cli.Usage
|
||
import org.crsh.cli.Command
|
||
|
||
class hello {
|
||
|
||
@Usage("Say Hello")
|
||
@Command
|
||
def main(InvocationContext context) {
|
||
return "Hello"
|
||
}
|
||
|
||
}
|
||
```
|
||
Spring Boot将一些额外属性添加到了InvocationContext,你可以在命令中访问它们:
|
||
|
||
|属性名称|描述|
|
||
|------|:------|
|
||
|spring.boot.version|Spring Boot的版本|
|
||
|spring.version|Spring框架的核心版本|
|
||
|spring.beanfactory|获取Spring的BeanFactory|
|
||
|spring.environment|获取Spring的Environment|
|