1.我们分析rocketmq源码时,会遇到命令rocketmq启动时,会有设置命令行参数,如-c 配置文件地址 -h打印帮助等待参数,今天我们就来讲下怎么实现的。
看下图
上面代码片段是namesrv的源码,就是这个apache的cli CommandLine类 完成了命令行参数解析。
这里我拿namesrv的源码所有命令行来作了一个测试类
public class MyTest {
public static void main(String[] args) throws ParseException {
String[] arg = {
"-h", "-c", "D:\\dev\\java_workspace\\rocketmq\\conf\\namesrv.conf" };
testOptions(arg);
}
public static void testOptions(String[] args) throws ParseException {
// 创建选项集
Options options = new Options();