此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Shell 3.3.3! |
别名
可以为命令定义别名。这很方便 您想要创建较短版本的命令或 going 通过完整的命令重命名,同时暂时保留旧的 地方。
别名的格式与命令略有不同。当 command 被定义为数组时,它被连接在一起成为一个命令。 当 alias 被定义为数组时,它用于创建单独的 别名。
带有 plain 的别名简单明了
完全按照您的定义获取,因为它没有 “魔法” 。CommandRegistration
CommandRegistration commandRegistration() {
return CommandRegistration.builder()
.command("mycommand")
// define alias as myalias
.withAlias()
.command("myalias")
.and()
// define alias as myalias1 and myalias2
.withAlias()
.command("myalias1", "myalias2")
.and()
.build();
}
使用 annotation 定义别名稍微复杂一些,因为它
可以同时存在于类和方法级别。以下是它是如何实现的
工程。@Command
仅在方法上使用 Alias 会得到 myalias。
@Command
class MyCommands {
@Command(command = "mycommand", alias = "myalias")
void myCommand() {
}
}
或者 myalias1 和 myalias2(如果定义为数组)。
@Command
class MyCommands {
@Command(command = "mycommand", alias = { "myalias1", "myalias2" })
void myCommand() {
}
}
仅在类级别上使用别名不执行任何操作,因为它只是一个指令 for Comments 在方法级别(如果已定义)。
@Command(alias = "myalias")
class MyCommands {
@Command(command = "mycommand")
void myCommand() {
}
}
类和方法级别的别名将这两者组合在一起,其中 类级别用作前缀,方法级别用作别名的组合。 类级别的别名通常与命令前缀一起使用 将别名保持在同一命令级别。
在这里,你会得到别名 myalias1 myalias2。
@Command(alias = "myalias1")
class MyCommands {
@Command(command = "mycommand", alias = "myalias2")
void myCommand() {
}
}
在方法级别上,有一种特殊格式,它是一个空字符串,它允许你创建一个别名,但它只使用 类级别。
在这里,你将获得别名 myalias1。
@Command(command = "mycommand", alias = "myalias")
class MyCommands {
@Command(command = "", alias = "")
void myMainCommand() {
}
@Command(command = "mysubcommand", alias = "mysubalias")
void mySubCommand() {
}
}