当前位置: 首页 > news >正文

南通中小企业网站制作常州网站建设段新浩

南通中小企业网站制作,常州网站建设段新浩,现在那个网站做推广效果会好点,电商网站开发的目的是在上一篇文章中 #xff0c;我研究了如何使用Apache Commons CLI在Java应用程序中解析命令行参数。 在本文中#xff0c;我将使用另一个库args4j进行相同的操作。 args4j采用了一种不同于Commons CLI的方式来指定Java应用程序应期望的命令行参数。 尽管Commons CLI期望代表选… 在上一篇文章中 我研究了如何使用Apache Commons CLI在Java应用程序中解析命令行参数。 在本文中我将使用另一个库args4j进行相同的操作。 args4j采用了一种不同于Commons CLI的方式来指定Java应用程序应期望的命令行参数。 尽管Commons CLI期望代表选项的对象将被单独且显式实例化但args4j使用自定义注释来促进命令行参数处理的这一“定义”阶段。 命令行选项应该是类上的实例级字段并带有 org.kohsuke.args4j.Option批注。 每个命令行参数的特征都包含在此Option注释的属性中。 本文中演示的简单应用程序与我上一篇文章中使用的应用程序相似并着重于用于指定详细程度的可选且无值的-v选项以及所需的-f选项该选项期望代表文件路径和名称的值。 下一个代码清单演示了如何使用args4j的Option注释将这些命令行参数设置为类数据成员上的注释。 args4j通过Option注释定义命令行参数 Option(name-v, aliases--verbose, usagePrint verbose status.) private boolean verbose;Option(name-f, aliases--file, usageFully qualified path and name of file., requiredtrue) private String fileName; 如上面的代码清单所示很容易指定选项的名称用法以及是否需要默认是可选的。 上面的private修饰符的存在使它们很明显是在类级别定义的属性。 因为没有static修饰符所以我们看到这些是已注释的实例变量。 要解析命令行选项只需实例化一个CmdLineParser并将命令行参数传递给其parseArgumentsString ...方法 解析args4j中的命令行参数 final CmdLineParser parser new CmdLineParser(this); try {parser.parseArgument(arguments); } catch (CmdLineException clEx) {out.println(ERROR: Unable to parse command-line options: clEx); } 在刚刚显示的Java代码的第一行中 this是对类实例的引用在该类实例中定义了上面显示的成员变量并使用Option注释Option注释。 在这种情况下我使用this是因为定义这些选项的同一类是调用此解析方法的类。 为了在同一个类中执行此操作我需要在类中定义一个名为doMain的实例非static 方法并由该类的main函数调用该方法这在本文结尾处的完整代码清单中显示。 从类的main(final String[])函数接收的命令行参数是传递给parseArguments(String[])方法的parseArguments(String[])数组。 接下来的两个屏幕快照演示了基于args4j的上述代码在解析命令行参数中的应用。 第一张图片显示了两个选项的短选项和长选项的组合。 第二个图像显示了自动报告未提供必需的命令行参数的情况。 命令行解析库的一个重要功能是能够显示用法或帮助信息。 下一个代码清单演示了使用args4j的CmdLineParser.printUsageOutputStream方法执行此操作的示例。 使用args4j打印使用情况信息 final CmdLineParser parser new CmdLineParser(this); if (arguments.length 1) {parser.printUsage(out);System.exit(-1); } 下一个屏幕快照描述了args4j默认打印出的使用情况信息。 这篇文章演示了如何使用arg4j实现与Java应用程序中的命令行解析有关的一些最常见功能包括选项“定义”命令行参数“解析”对所解析的命令行参数的“询问”以及帮助/ us与命令行参数有关的详细信息。 现在显示了上面在代码清单中部分表示的类的完整代码清单。 args4j演示Main.java的完整代码清单 package examples.dustin.commandline.args4j;import static java.lang.System.out;import org.kohsuke.args4j.CmdLineException; import org.kohsuke.args4j.CmdLineParser; import org.kohsuke.args4j.Option;import java.io.IOException;/*** Demonstrate args4j.*/ public class Main {Option(name-v, aliases--verbose, usagePrint verbose status.)private boolean verbose;Option(name-f, aliases--file, usageFully qualified path and name of file., requiredtrue)private String fileName;private void doMain(final String[] arguments) throws IOException{final CmdLineParser parser new CmdLineParser(this);if (arguments.length 1){parser.printUsage(out);System.exit(-1);}try{parser.parseArgument(arguments);}catch (CmdLineException clEx){out.println(ERROR: Unable to parse command-line options: clEx);}out.println(The file fileName was provided and verbosity is set to verbose .);}/*** Executable function demonstrating Args4j command-line processing.** param arguments Command-line arguments to be processed with Args4j.*/public static void main(final String[] arguments){final Main instance new Main();try{instance.doMain(arguments);}catch (IOException ioEx){out.println(ERROR: I/O Exception encountered: ioEx);}} } 这是在选择框架或库来帮助Java进行命令行解析时要考虑的args4j的一些其他特征。 args4j是开放源代码并已获得MIT许可证 。 当前版本的args4j 2.33 需要 J2SE 5 。 args4j不需要单独下载或引用任何第三方库。 args4j 2.33主JAR args4j-2.33.jar 的大小约为152 KB。 Maven存储库显示了376个对args4j的依赖关系 包括OpenJDK的JMH Core和Jenkins 考虑到川口晃介的参与这不足为奇。 args4j已经存在了一段时间 其2.0.3版本于2006年1月发布 至少从2003年开始就以某种形式出现。 args4j允许通过Option注释上的“ hidden ”将命令行参数从使用情况输出中排除。 args4j允许指定和强制执行命令行参数之间的关系。 这包括指定何时不能同时提供两个参数的能力“ 禁止 ”以及仅当还提供了另一个参数时“ depends ”才有意义的情况。 args4j支持在有限的一组值适用于该选项的情况下使用枚举类型的类属性。 Option文档在“枚举开关”部分下说明了如何执行此操作。 args4j通过其OptionHandler类提供了命令行参数解析的可扩展性和可定制性。 args4j库易于使用并允许高度可读的代码。 决定是否使用args4j时最大的考虑因素可能是确定使用批注指定命令行参数定义的舒适程度。 其他参考 args4j args4j下载 args4j源代码 GitHub args4j API文档 args4j样本主 翻译自: https://www.javacodegeeks.com/2017/06/java-command-line-interfaces-part-2-args4j.html
http://wiki.neutronadmin.com/news/415854/

相关文章:

  • 义乌多语言网站建设域名注册成功了然后怎么做
  • 西安网站排名分析国内家居行业网站开发
  • wordpress 媒体库角色权限专业放心关键词优化参考价格
  • 公司网站的备案号是如何链接的网站域名过期未续费怎么办
  • 旅游网站制作素材沧浪网站建设
  • 企业网站建设课件wordpress付费下载主题
  • 网站备案网站前置审批县文化馆网站建设方案
  • 西宁网站制作公司360商场内部
  • iis 新建网站没有文件夹权限深圳福田搬家公司
  • 做静态网站工资多少杭州微网站建设公司哪家好
  • 纸做的花朵成品网站做购物商城网站
  • 成华网站制作网页版微信网址是多少
  • 建设网站业务竞争大制作哪个网站好
  • 网站如何做微信支付百度网盘官网登陆入口
  • 建设互联网教育网站网页美工设计课程标准
  • 小学文化学网站开发怎么知道公司网站是哪个公司做的
  • 网站建设行业市场规模wordpress 用户验证
  • 网上购物有哪些网站?wordpress 循环菜单
  • 网站建设在国内外研究现状wordpress 表格小工具栏
  • 石家庄网站建设外贸做网站步骤
  • 做网站一定需要自己买主机吗百度指数网址是什么
  • 做网站美工 电脑配件要多大北京市企业信用信息查询网
  • 泊头建网站网站架构设计师工资
  • 手机端网站思路wordpress灯箱效果
  • 网站内容优化的主要方法广东省建设厅网站查询
  • 网站建设10个基本步骤微信自创小程序
  • wordpress+缩略图截图山西seo网站设计
  • 昆明免费网站制作海口官网设计公司
  • 网站建设的可行性报告怎么给网站做301
  • 如何把自己网站推广出去网站建设的面试要求