java登录界面命令_Java命令行界面(第19部分):jClap
java登录界面命令
本系列中第19个帖子的重点是从Java代码解析命令行参数是jClap ( Java命令行参数解析器 ),不应与JCLAP库混淆,该库是我本系列前 一篇文章的重点。 上 一篇 文章介绍了Giles Winstanley( snaq.net ) 撰写的JCLAP 1.4 ,而本篇文章介绍了Jan So ( extreme_logic ) 撰写的jClap 2.0 。
通过实例化com.extremelogic.common.jclap.Argument的实例并调用名称为addArgument
或addBooleanArgument
的重载方法之一,可以在com.extremelogic.common.jclap.Argument
实现“定义”阶段。 下一个代码清单( 在GitHub上提供完整代码)中对此进行了演示。
jClap的“定义”阶段
final Argument argument = new Argument(arguments);
argument.addArgument("file", "Path/name of file", true, 1);
argument.addBooleanArgument("verbose", "Enables verbosity", false);
前面的代码清单演示了提供长参数名称,参数说明,是否需要参数以及参数期望值的数量。 据我所知,无法为参数添加简称(单个连字符和单个字符)。
通过在“定义”阶段定义的Argument
实例上调用processArguments()
方法,可以通过jClap实现“解析”阶段。 这是单行调用,但会引发检查异常ArgumentException
。 下一行代码清单显示了此单行解析。
jClap的“解析”阶段
argument.processArguments();
使用jClap通过在“定义”阶段定义的Argument
实例上调用getArgument
方法来实现“询问”阶段。 下一个代码清单中对此进行了演示。
jClap的“审讯”阶段
out.println("File path/name is '" + argument.getArgument("file") + "'.");
out.println("Verbosity is set to " + argument.getArgument("verbose"));
通过在整个示例中使用的Argument
实例上调用displayOptions
方法,jClap还可以轻松地将用法写入标准输出。 在下一个代码清单中对此进行了演示,该清单显示了捕获和“处理”已检查的异常ArgumentException
。
jClap中的“用法”
catch (final ArgumentException argumentException)
{out.println("ERROR: Exception encountered while processing command-line arguments - "+ argumentException);argument.displayOptions();
}
屏幕快照演示了本文中涵盖的代码,其中将jClap应用于命令行处理。 第一个图像描述了未指定必需的--file
ArgumentException
时对检查到的异常ArgumentException
的处理,还描述了jClap提供的用法语句。 第二张图描绘了参数的常规命令行处理。
选择框架或库来帮助Java进行命令行解析时,需要考虑jClap的特征。
- jClap是具有Apache License Version 2.0的开源。
- commons-jClap-2.0.0.jar JAR的大小约为15 KB,没有第三方库依赖项。
- 在我看来,jClap仅支持带有双连字符的“长”参数名称。
- jClap JAR包含使用Java SE 6 ( 主要版本50 )编译的类文件,因此应与运行在Java SE 6之前的版本的Java应用程序一起使用。
- 所有参数都从
Argument
实例作为String
检索(没有类型的参数)。 - jClap JAR还包含一个“样本”应用程序(
SampleArguments.class
),IDE反编译器(例如IntelliJ IDEA的内置反编译器和Eclipse的Enhanced Class Decompiler )可以反编译以查看可以写入的源代码类型。使用jClap。
jClap是一个小型易用的库,用于处理Java的命令行参数,可以与运行在Java SE 6以前的Java版本上的Java应用程序一起使用。该库仅支持长参数名,并以以下形式返回参数的值: String>/code> type in all cases.
翻译自: https://www.javacodegeeks.com/2017/10/java-command-line-interfaces-part-19-jclap.html
java登录界面命令
java登录界面命令_Java命令行界面(第19部分):jClap相关推荐
- java登录界面命令_Java命令行界面(第18部分):JCLAP
java登录界面命令 Giles Winstanley的JCLAP ( Java命令行参数解析器 )是基于Java的命令行处理库的系列文章中介绍的第18个库. 这篇文章的示例基于JCLAP 1.4 , ...
- java登录界面命令_Java命令行界面(第10部分):picocli
java登录界面命令 picocli主页面将picocli描述为"强大的微小命令行界面"," picocli"是一个单文件Java框架,用于解析命令行参数并生成 ...
- java登录界面命令_Java命令行界面(第7部分):JCommander
java登录界面命令 这是我系列的第七篇文章,简要介绍了用于处理Java命令行参数的各种库. 这篇文章回到了基于注释的库的覆盖范围,该库似乎是在Java中可用于处理命令行参数的众多可用库中知名度最高, ...
- java登录界面命令_Java命令行界面(第26部分):CmdOption
java登录界面命令 由于Tweet,我了解了本系列中第26个基于Java的功能强大的库,该库用于解析命令行参数 . CmdOption在其GitHub主页上被描述为"一个通过注释配置的,用 ...
- java登录界面命令_Java命令行界面(第12部分):CLAJR
java登录界面命令 第十二篇有关在Java中处理命令行参数的文章的特色库是带有Java Reflection的命令行参数 (CLAJR). 该"库"是单个Java源文件( CLA ...
- java登录界面命令_Java命令行界面(第11部分):CmdLn
java登录界面命令 这篇文章介绍了如何使用Ostermiller Java Utilities 1.08.02的CmdLn(Java命令行解析器)来处理基于Java的应用程序中的命令行参数. Ost ...
- java登录界面命令_Java命令行界面(第13部分):JArgs
java登录界面命令 JArgs 1.0的区别在于,这是我的第13篇文章的主题,该文章是关于Java命令行参数解析的. JArgs是一个开放源代码( BSD许可 )库,主要由Steve Purcell ...
- java登录界面命令_Java命令行界面(第15部分):Jargo
java登录界面命令 Jargo在其GitHub主页上定义为"一种减轻程序参数/选项处理的工具". 当已经存在许多其他命令行处理库时,该页面为另一个命令行处理库提供了基本原理 ,该 ...
- java登录界面命令_Java命令行界面(第16部分):JArgp
java登录界面命令 这篇文章中介绍的基于Java的命令行参数处理库是IBM developerWorks文章Java编程动态性,第3部分,应用的反射 (第2003 部分,此归档文章于2016年&qu ...
最新文章
- elasticsearch term match multi_match区别
- mvc5入门示例博客(有惊喜)
- Java中多态(向上转型)机制
- ROS下多个kinect在一台电脑上同时运行
- Microsoft Office 企业记分卡管理服务器
- 看我发现了什么好东西? Java Optional,绝对值得一学 | 原力计划
- 清华大学模拟电子技术视频教程
- python遥感图像处理_遥感数字图像处理
- java 自己实现连接池_JAVA自定义连接池原理设计(一)
- 手机android flash,安卓手机flash插件最新版
- SPSS联合Excel进行logistic回归亚组交互效应(交互作用)的可视化分析
- 丹麦为啥能成为“养猪王国”与“养猪强国”
- pentaho server 9.2 配置mysql数据源
- win10点一个程序要很久才响应解决方法
- postman数据保存在哪里_Postman教程——使用数据文件
- 拼多多活动期间怎么控制|百誉纳成
- 微信开发(六)微信分享接入
- 齐博x1教程:快速增加下拉菜单
- 必会的这15个Mysql优化问题,面试官、DBA都要高看你一眼,速度收藏
- SQL Server 2000服务无法启动,提示“系统找不到指定的文件”解决方法及sp4安装不上...
热门文章
- P5787 二分图 /【模板】线段树分治(线段树分治、并查集)
- P5044-[IOI2018] meetings 会议【dp,笛卡尔树,线段树二分】
- P3175-[HAOI2015]按位或【min-max容斥,FWT】
- nssl1296-猫咪的进化【dp】
- 【做题记录】图论杂题
- Codeforces Round #654 (Div. 2)
- 【动态规划】 数字游戏 (ssl 1653)
- Codeforces 786B Legacy (线段树优化建图)
- 跟我学 Java 8 新特性之 Stream 流(三)缩减操作
- MySQL字符串长度