可以为命令定义别名。这对于 想要创建较短版本的命令或执行命令的情况 通过完整的命令重命名,同时暂时保留旧的 地方。
别名的格式与命令略有不同。当命令定义为数组时,它会连接在一起形成一个命令。 当 alias 定义为数组时,它用于创建一个单独的 别名。
带有普通字样的别名简单明了,就像你一样
准确理解您的定义,因为其中没有“魔法”。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();
}
使用注释定义别名有点复杂,因为它
可以同时存在于类和方法级别。以下是一些示例
工程。@Command
别名只是在方法上给你肌样。
@Command
class MyCommands {
@Command(command = "mycommand", alias = "myalias")
void myCommand() {
}
}
或者 myalias1 和 myalias2(如果定义为数组)。
@Command
class MyCommands {
@Command(command = "mycommand", alias = { "myalias1", "myalias2" })
void myCommand() {
}
}
Alias 仅在类级别上没有任何作用,因为它只是一个指令 用于方法级别的注释(如果已定义)。
@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() {
}
}