当前位置: 首页 > 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://www.huolong8.cn/news/290922/

相关文章:

  • 网站的建设公司哪家好样本设计
  • 东营网站建设价格wordpress易企秀
  • 旅游网站开发流程苏州做网站最好公司
  • 有没有做网页的兼职网站亚马逊关键词工具哪个最准
  • 大做网站互联网门户网站是什么
  • 有哪些专门做校企合作的网站哪家网络公司的宽带好
  • 发外链的网站排名网站开发制作公司简介
  • 支付网站建设费用做账免费做调查的网站
  • 镇江网站建设网站wordpress 字体类型
  • 网站用户体验是什么有网页源码 怎么做网站
  • 备案 非网站备案济南营销型网站建设
  • 临沂网站建设哪家最好js 网站头部固定
  • 有的网站打不开是什么原因icp备案网站管理员有负责吗
  • 网站空间太小个人网站设计毕业设计论文
  • 网站建设入门教程视频微信小程序外联网站
  • 古镇中小企业网站建设丽江网站建设公司
  • 苏州外贸企业网站建设网站改版注意事项
  • 漯河网站推广公司如何设定旅游网站seo核心关键词
  • 上海网站建设 百家号台州百度关键词排名
  • 如何获得网站域名建设建材网站费用
  • 三杰网站建设网站自适应怎么做
  • 天津魔方网站建设陕建十四建公司简介
  • 做网站在线视频如何添加无忧网站建设服务
  • 城乡建设部网站影楼行业网站
  • 专业的企业网站设计与编辑网站常用模块功能说明
  • 石家庄seo网站优化广东网站备案查询
  • 做网站开发人员架构有没有免费的推广网站
  • 魅姬直播西安seo优化顾问
  • 建网站推广江苏省建设工程竣工验收网站
  • 学习做网站东莞营销网站