Java程序打包成带参数的jar文件实例代码
程序员文章站
2024-02-28 10:35:46
这里我们通过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文件实例代码,希望对大家有所帮助