使用apache commons cli定义位置参数

ter*_*ywb 9 apache-commons-cli

我想定义一个包含命名参数和位置参数的Apache Commons CLI解析器.

program [-a optA] [-b optB] [-f] pos1 pos2
Run Code Online (Sandbox Code Playgroud)

如何验证pos1和pos2?

ter*_*ywb 7

快速阅读文档,我不知道CommandLine类将提供对剩余位置参数的访问.

解析在命令行上传递的选项后,其余参数在CommandLine.getArgs()方法中可用.

public static void main(String[] args) {
      DefaultParser clParse = new DefaultParser();
      Options opts = new Options();
      opts.addOption("a", true, "Option A");
      opts.addOption("b", true, "Option B");
      opts.addOption("f", false, "Flag F");

      CommandLine cmdLine = clParse.parse(opts, args); 
      System.out.println(cmdLine.getArgs().length);
}
Run Code Online (Sandbox Code Playgroud)

  • 如果你这样做,位置参数不是在帮助。 (2认同)