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
  • asp之家 软件编程 m.aspxhome.com