Java程序打包成带参数的jar文件实例代码
时间:2021-08-20 10:05:16|栏目:JAVA代码|点击: 次
这里我们通过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代码
本文地址:http://www.codeinn.net/misctech/168458.html


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




