首页 > 开发 > Java > 正文

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

2024-07-13 10:12:08
字体:
来源:转载
供稿:网友

这里我们通过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文件实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对VeVb武林网网站的支持!


注:相关教程知识阅读请移步到JAVA教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表