Java程序打包成带参数的jar文件实例代码
更新时间:2017年09月26日 09:16:06 作者:flyfy飞
这篇文章主要介绍了Java程序打包成带参数的jar文件实例代码,需要的朋友可以参考下
这里我们通过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文件实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
相关文章
Java更新调度器(update scheduler)的使用详解
Java更新调度器是Java中的一个特性,可以自动化Java应用程序的更新过程,它提供了一种方便的方式来安排Java应用程序的更新,确保其与最新的功能、错误修复和安全补丁保持同步,本文将深入介绍如何使用Java更新调度器,并解释它对Java开发人员和用户的好处2023-11-11SpringBoot连接Nacos集群报400问题及完美解决方法
这篇文章主要介绍了解决SpringBoot连接Nacos集群报400问题 ,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2022-02-02
最新评论