Java程序打包成带参数的jar文件实例代码
作者:flyfy飞 时间:2022-12-12 03:50:39
这里我们通过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文件实例代码网站的支持!
来源:http://blog.csdn.net/u012386386/article/details/78088853
标签:java,打包,jar
0
投稿
猜你喜欢
C#使⽤XmlReader和XmlWriter操作XML⽂件
2023-12-13 10:25:00
SpringBoot登录用户权限拦截器
2022-07-15 04:18:04
C++实现的O(n)复杂度内查找第K大数算法示例
2023-06-30 15:51:13
Java多线程工具篇BlockingQueue的详解
2022-07-03 20:47:56
C# 中string.split用法详解
2023-04-09 13:58:34
SpringBoot整合支付宝APP支付
2021-10-12 02:57:24
java list去重操作实现方式
2021-09-22 13:26:08
C#把数字转换成大写金额的代码实例
2022-03-21 08:08:48
C#中的Explicit和Implicit详情
2022-09-06 06:50:54
Android性能优化之Bitmap图片优化详解
2023-08-06 02:54:23
Android仿google now效果的呼吸按钮
2023-06-17 07:58:02
IDEA2022中部署Tomcat Web项目的流程分析
2023-02-26 17:19:09
SpringBoot整合TomCat实现本地图片服务器代码解析
2021-07-30 16:34:19
android 中 webview 怎么用 localStorage
2023-04-28 04:38:36
SpringMVC请求数据详解讲解
2021-09-13 08:56:56
Android自定义个性化的Dialog示例
2022-01-21 12:41:36
Android 7.0中拍照和图片裁剪适配的问题详解
2022-09-27 07:29:57
Android自定义View实现水面上涨效果
2023-03-02 22:13:06
C#切换鼠标左右键习惯无需控制面板中修改
2021-08-06 04:44:44
Java新手学习之IO流的简单使用
2023-08-09 15:57:33