别名
可以为命令定义别名。这对于 比如你想创建一个更简短的命令版本,或者 通过完全重命名命令,同时暂时保留旧命令 地方。
别名的格式与命令略有不同。当命令被定义为数组时,它会被串接成一个命令。 当别名被定义为数组时,它用来创建独立的别名。
带有平原的别名指挥注册简单明了,就像你一样
得到你定义的那种,因为里面没有“魔法”。
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() {
}
}