加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java程序打包成带参数的jar文件实例代码

发布时间:2020-12-14 22:25:48 所属栏目:Java 来源:网络整理
导读:这里我们通过Apache Commons CLI来完成目标功能,废话不多说直接上代码 所需的maven依赖 dependency groupIdcommons-cli/groupId artifactIdcommons-cli/artifactId version1.4/version/dependency 这里我们贴出主类代码 Options opts = new Options(); opts

这里我们通过Apache Commons CLI来完成目标功能,废话不多说直接上代码

所需的maven依赖

<dependency>
   <groupId>commons-cli</groupId>
   <artifactId>commons-cli</artifactId>
   <version>1.4</version>
</dependency>

这里我们贴出主类代码

Options opts = new Options();
    opts.addOption("h",false,"help");
    Option portOption = OptionBuilder.withArgName("args")
        .withLongOpt("port").hasArg()
        .create("p");
    opts.addOption(portOption);
    Option fileOption = OptionBuilder.withArgName("args")
        .withLongOpt("file").hasArg()
        .create("f");
    opts.addOption(fileOption);
    Option kafkaHostOption = OptionBuilder.withArgName("args")
        .withLongOpt("kafkaHost").hasArg()
        .create("kH");
    opts.addOption(kafkaHostOption);
    Option kafkaPortOption = OptionBuilder.withArgName("args")
        .withLongOpt("kafkaPort").hasArg()
        .create("kP");
    opts.addOption(kafkaPortOption);
    Option kafkaTopicOption = OptionBuilder.withArgName("args")
        .withLongOpt("kafkaTopic").hasArg()
        .create("kT");
    opts.addOption(kafkaTopicOption);
    BasicParser parser = new BasicParser();
    CommandLine cl;
    try {
      cl = parser.parse(opts,args);
      if (cl.getOptions().length > 0) {
        if (cl.hasOption('h')) {
          HelpFormatter hf = new HelpFormatter();
          hf.printHelp("Options",opts);
        } else {
          //String ip = cl.getOptionValue("i");
          String port = cl.getOptionValue("p");
          String file = cl.getOptionValue("f");
          String kafkaHost = cl.getOptionValue("kH");
          String kafkaPort = cl.getOptionValue("kP");
          String kafkaTopic = cl.getOptionValue("kT");
          GetInfo getInfo = new GetInfo();
          getInfo.getAndZgrab(file,port,kafkaHost,kafkaPort,kafkaTopic);
        }
      } else {
        System.out.println("参数为空");
      }
    } catch (Exception e) {
      e.printStackTrace();
    }

记得将上述代码放到main函数中,将解析args[],这样将程序打包成jar文件后就可以实现我们的需求了。

执行命令:

java -jar jarName.jar -f filename -p port - kH kafkaHost -kP kafkaPort -kT kafkaTopic 

如果忘记了都需要传递什么参数,可以通过 java -jar jarName.jar -h 获取参数内容

总结

以上所述是小编给大家介绍的Java程序打包成带参数的jar文件实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程小技巧网站的支持!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读