java登录界面命令

本系列中第19个帖子的重点是从Java代码解析命令行参数是jClapJava命令行参数解析器 ),不应与JCLAP库混淆,该库是我本系列前 一篇文章的重点。 上 一篇 文章介绍了Giles Winstanley( snaq.net撰写的JCLAP 1.4 ,而本篇文章介绍了Jan Soextreme_logic撰写的jClap 2.0

通过实例化com.extremelogic.common.jclap.Argument的实例并调用名称为addArgumentaddBooleanArgument的重载方法之一,可以在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登入之后怎么记录登入日志 java登录界面的实现_java登入之后怎么记录登入日志

java登入之后怎么记录登入日志 java登录界面的实现_linux_02

选择框架或库来帮助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内置反编译器EclipseEnhanced 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登录界面命令