我维护一个内部用于测试基础设施的应用程序。通常,它只需要在整个测试期间在一台设备上运行,但有时我们需要从这个应用程序中获取信息,或者在运行时对其进行操作。出于这个目的,它有一个 CLI,但是,唉,这是我为自己写的关于如何添加新的 CLI 命令的说明:
"""
添加 CLI 命令
在 cli/client/commands/{category}/CLINewCommand.java 和 cli/server/commands/{category}/NewCommand.java 中为新命令创建一个类
CLI类必须扩展 CLICOnfigCmd 并实现 CLICommand。*
将命令添加到 cli/client/commands/SimServerCmd.java 中的枚举并使用 cli/client/commands/CLICommandFactory.java 中的枚举值
将命令类添加到 cli/server/RepositoryInfo.java 并添加一个公共方法来调用它的服务器端命令。该命令也必须添加到接口 RepositoryInfoMBean 中。
*初始化 config/applicationContext.xml 和 config/cliApplicationContext.xml 中的新对象。在 config/simulator_cli_conf.properties 中添加要打印的字符串*
"""
因此,如果您设法按照我古怪的自我发现说明进行操作,为了添加 CLI 命令,您需要为命令创建 2 个类,编辑 4 个不同的类,然后编辑两个 Spring 配置文件和一个属性文件。
用于添加。只是。一。命令。
不用说,缺少许多必需的 CLI 功能。
您对更好的设计有什么建议吗?更好的是易于扩展。