args4j的使用
来源:互联网 发布:都叫兽数据恢复激活码 编辑:程序博客网 时间:2024/05/29 16:10
args4j简介
args4j是一个用来配置命令行的工具。
在实际的项目中用到命令行的并不是很常见,但当真正使用到时,特别是在程序启动时配置一下参数的时候就很有用了,如果参数很多的话,一个一个解析命令行还是比较麻烦的.这时使用Args4J就相当好办了. 在本文中我们来看看Args4J的使用,当需要时能提供一个解决方案.
Args4J使用一个被称为Option类的类来保存输入的参数,让后根据该类来应用参数,每个参数可以对应一个类中的属性,该属性用Annotation注释,在Annotation中给出该参数 的选项, 还可以配置其他有用的信息
例如,在做开源工具时,写好一个项目,需要上传到linux等平台时,往往就需要通过命令输入程序的参数。如下,是我在cmd里面做测试用的。
从上面可以看到,输入的参数有两个,一个是inputfdir,一个是outfdir。
使用样例
程序目录结构如下
package main;import org.kohsuke.args4j.Option;public class SampleCmdOption { @Option(name="-est", usage="Specify whether we want to estimate model from scratch") public boolean est = false; @Option(name="-estc", usage="Specify whether we want to continue the last estimation") public boolean estc = false; @Option(name="-inf", usage="Specify whether we want to do inference") public boolean inf = true;}
package main;import org.kohsuke.args4j.CmdLineException;import org.kohsuke.args4j.CmdLineParser;public class TestMain { public static void main(String[] args) { //开始解析命令参数 SampleCmdOption option = new SampleCmdOption(); CmdLineParser parser = new CmdLineParser(option); try { if (args.length == 0){ showHelp(parser); return; } parser.parseArgument(args); //开始初步参数校验并调用程序开始运行,这里就会获得参数 System.out.println(option.est); System.out.println(option.name); //下面再写你自己的主程序都是可以的。。。。。 }catch (CmdLineException cle){ System.out.println("Command line error: " + cle.getMessage()); showHelp(parser); return; }catch (Exception e){ System.out.println("Error in main: " + e.getMessage()); e.printStackTrace(); return; } } public static void showHelp(CmdLineParser parser){ System.out.println("LDA [options ...] [arguments...]"); parser.printUsage(System.out); }}
0 0
- args4j的使用
- args4j
- 使用 args4j 来解析命令行参数
- Args4J 使用指南
- Args4J 使用指南
- Args4J 使用指南
- Args4J 使用指南
- eclipse 安装git插件出现 requires 'org.kohsuke.args4j"错误的解决方法
- GUID使用的使用
- ${}的使用
- 的使用
- @[],@()的使用
- ->的使用
- +、-、*、/、%的使用
- &&的使用
- %:的使用
- Makefile中使用$$的使用
- Makefile中使用$$的使用
- 解决在自定义AlertDialog中EditText无法弹出软键盘的问题
- C#实现文件读写
- Kaggle | Allstate Claims Severity比赛总结
- 436_画出圆周运动
- 437_完整彩色星星进度条
- args4j的使用
- Solr6.3 在Java中的简单使用
- Neofetch带发行版 Logo 图像的系统信息显示工具发布啦!
- 【工具】memcached基本控制台操作
- 1086. Tree Traversals Again (25)
- 不止一次遇到的panic错误及this.TplName和this.Redirect()的区别
- 438_用path画出粗半圆环
- c#日期和事件控件的使用(日期的修改)
- 【git】SSH keys 生成,管理多个 SSH keys ,代码第一次提交到远程仓库