Apache Commons CLI无法按预期进行解析?

用户名
public static void main(String[] args) {

    Options options = new Options();
    Option hostOption = Option.builder("h")
            .longOpt("host")
            .required(false)
            .build();

    Option portOption = Option.builder("p")
            .longOpt("port")
            .required(false)
            .type(Number.class)
            .build();

    Option serviceNameOption = Option.builder("n")
            .longOpt("service_name")
            .required(false)
            .build();

    options.addOption(hostOption);
    options.addOption(portOption);
    options.addOption(serviceNameOption);

    String serviceName = "dbservice"
    String host = "localhost";
    int port = 7512;
    CommandLineParser parser = new DefaultParser();
    Server server = new Server();
    try {
        CommandLine cmd = parser.parse(options, args);
        if(cmd.hasOption("host")) {
            host = cmd.getOptionValue("host");
            System.out.println(host); //gets in here but prints null
        }
        if (cmd.hasOption("port")) {
            port = ((Number)cmd.getParsedOptionValue("port")).intValue();
            System.out.println(port); // gets in here but throws a null pointer exception

        }
        if (cmd.hasOption("service_name")) {
            serviceName = cmd.getOptionValue("service_name");
            System.out.println(serviceName); // gets in here but prints null
        }
    } catch(Exception e) {}
 }

我正在使用Apache commons cli库来解析命令行args,但是它似乎没有按预期进行解析。不知道我在这里想念什么吗?

我以多种不同的方式调用它只是为了看看它是否有效,下面是其中之一java -jar dbservice.jar --host localhost --port 7514无论如何,正确的调用方法是什么?我没有在文档中看到

凯文·奥

为了使Option接受参数,必须将hasArg(true)传递给构建器。对于每个选项,添加一个“ .hasArg(true)”。使用此参数修改代码并运行测试用例会产生预期的输出。

    Option hostOption = Option.builder("h")
        .longOpt("host")
        .required(false)
        .hasArg(true)
        .build();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Apache Commons CLI(选项)

来自分类Dev

Apache Commons CLI参数值

来自分类Dev

Apache Commons CLI参数值

来自分类Dev

无法导入Apache Commons Jars

来自分类Dev

使用Apache Commons CLI的互斥选项

来自分类Dev

使用apache commons cli定义位置参数

来自分类Dev

Apache Commons CLI-重复的选项

来自分类Dev

如何导入 jar apache commons cli

来自分类Dev

Apache Commons Daemon-无法启动服务

来自分类Dev

Apache Commons Math'SummaryStatistics无法解析为类型'

来自分类Dev

在 Android N 之前,Apache Commons Compress 无法解析类 SeekableInMemoryByteChannel

来自分类Dev

Apache Commons CLI:是否已取代已弃用的OptionBuilder?

来自分类Dev

在不带连字符的Apache Commons CLI中使用选项

来自分类Dev

Apache Commons CLI:如何防止对选项使用短名称?

来自分类Dev

获取 apache.commons.cli.CommandLine 作为字符串

来自分类Dev

Apache Commons Unzip方法?

来自分类Dev

Apache Commons Collections MultiValuedMap 按多个字段过滤数据

来自分类Dev

如何使用Apache Commons解析xml中的配置文件?

来自分类Dev

无法导入org.apache.commons.lang3.math.NumberUtils

来自分类Dev

为什么无法导入org.apache.commons.lang.StringUtils?

来自分类Dev

无法在Kotlin中使用Apache Commons-IO

来自分类Dev

无法将Tomcat 7作为Apache Commons守护程序启动

来自分类Dev

Apache Commons Client 无法再连接到 AOL

来自分类Dev

无法解析多部分servlet请求,嵌套异常为org.apache.commons.fileupload.FileUploadException

来自分类Dev

无法使用StAX解析由Apache Commons StringEscapeUtils.unescapeHtml生成的字符

来自分类Dev

org.apache.commons无法解析为一种类型

来自分类Dev

Apache Commons Lang HashCodeBuilder冲突

来自分类Dev

Apache Commons Lang 2与3

来自分类Dev

Apache Commons Configuration Cant保存

Related 相关文章

  1. 1

    Apache Commons CLI(选项)

  2. 2

    Apache Commons CLI参数值

  3. 3

    Apache Commons CLI参数值

  4. 4

    无法导入Apache Commons Jars

  5. 5

    使用Apache Commons CLI的互斥选项

  6. 6

    使用apache commons cli定义位置参数

  7. 7

    Apache Commons CLI-重复的选项

  8. 8

    如何导入 jar apache commons cli

  9. 9

    Apache Commons Daemon-无法启动服务

  10. 10

    Apache Commons Math'SummaryStatistics无法解析为类型'

  11. 11

    在 Android N 之前,Apache Commons Compress 无法解析类 SeekableInMemoryByteChannel

  12. 12

    Apache Commons CLI:是否已取代已弃用的OptionBuilder?

  13. 13

    在不带连字符的Apache Commons CLI中使用选项

  14. 14

    Apache Commons CLI:如何防止对选项使用短名称?

  15. 15

    获取 apache.commons.cli.CommandLine 作为字符串

  16. 16

    Apache Commons Unzip方法?

  17. 17

    Apache Commons Collections MultiValuedMap 按多个字段过滤数据

  18. 18

    如何使用Apache Commons解析xml中的配置文件?

  19. 19

    无法导入org.apache.commons.lang3.math.NumberUtils

  20. 20

    为什么无法导入org.apache.commons.lang.StringUtils?

  21. 21

    无法在Kotlin中使用Apache Commons-IO

  22. 22

    无法将Tomcat 7作为Apache Commons守护程序启动

  23. 23

    Apache Commons Client 无法再连接到 AOL

  24. 24

    无法解析多部分servlet请求,嵌套异常为org.apache.commons.fileupload.FileUploadException

  25. 25

    无法使用StAX解析由Apache Commons StringEscapeUtils.unescapeHtml生成的字符

  26. 26

    org.apache.commons无法解析为一种类型

  27. 27

    Apache Commons Lang HashCodeBuilder冲突

  28. 28

    Apache Commons Lang 2与3

  29. 29

    Apache Commons Configuration Cant保存

热门标签

归档