今天就跟大家聊聊有关带参数的jar文件在利用Java进行打包,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
所需的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
获取参数内容
看完上述内容,你们对带参数的jar文件在利用Java进行打包有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。