|
该版本仍在开发中,尚未被视为稳定。最新稳定版本请使用Spring Shell 3.4.1! |
别名
可以为命令定义别名。这对于你想创建命令的简短版本或进行完整的命令重命名,同时暂时保留旧的 地方。
别名的格式与命令略有不同。当命令被定义为数组时,它会被串接成一个命令。当别名被定义为数组时,它用于创建独立的别名。
带有平原的别名指挥注册简单明了,因为你得到你定义的完全一致,因为里面没有“魔法”。
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();
}
定义别名@Command注释则更复杂一些,因为它可以存在于类和方法两个层面。以下是示例 工程。
仅仅在某个方法上用别名就给你myalias。
@Command
class MyCommands {
@Command(command = "mycommand", alias = "myalias")
void myCommand() {
}
}
或者如果被定义为数组,则是myalias1和myalias2。
@Command
class MyCommands {
@Command(command = "mycommand", alias = { "myalias1", "myalias2" })
void myCommand() {
}
}
仅在类级层面的别名没有任何作用,因为它只是一个指令如果定义了,它就用于方法层级的注释。
@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() {
}
}