欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java程序打包成带参数的jar文件实例代码

程序员文章站 2024-03-02 20:45:52
这里我们通过apache commons cli来完成目标功能,废话不多说直接上代码 所需的maven依赖 <...

这里我们通过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文件实例代码,希望对大家有所帮助