java调用带用户名密码的wsdl java代码调用命令行 您所在的位置:网站首页 java调用命令行让输入密码 java调用带用户名密码的wsdl java代码调用命令行

java调用带用户名密码的wsdl java代码调用命令行

2024-02-26 13:59| 来源: 网络整理| 查看: 265

java调用命令行命令

我的Java命令行解析系列的第四部分介绍了Commandline ,它被描述为 “用于解析命令行参数的Java库”,它“基于使用注释从命令行参数到对象的映射”。

像以前介绍的args4j和jbock一样, Commandline使用注释来提供潜在命令行选项的“定义”。 然而,虽然args4j通过注释做到这一点的类字段和jbock通过在构造函数及其参数注解做到这一点,命令行使用的“集”(突变)方法的注释。 在本文中,我使用Main类示例,如之前有关基于Java的命令行处理的文章中所述,但是在正常情况下,我通常更喜欢使用一个特殊的类来表示命令行参数。

下面的代码清单演示了如何在“ get”方法上使用Commandline批注,以实现Commandline命令行处理的“ definition”阶段。

命令行处理的命令行“定义”阶段

public class Main { /** Is verbosity enabled? */ private boolean verbose; /** Name/path of applicable file. */ private String fileName; @Option @ShortSwitch("v") @LongSwitch("verbose") @Toggle(true) public void setVerbose(final boolean newVerbose) { verbose = newVerbose; } @Option @ShortSwitch("f") @LongSwitch("file") @SingleArgument @Required public void setFileName(final String newFileName) { fileName = newFileName; }

上面的代码清单显示了命令行注释@Option以及自定义已定义选项的其他注释的使用(对于短和长参数, @Required @ShortSwitch和@LongSwitch ;对于强制参数, @SingleArgument @Required用于指定与switch关联的一个参数的@SingleArgument ;以及@Toggle表示该开关的存在或不重要是重要的[没有与该开关关联的参数]。

下一个代码清单演示了使用Commandline进行命令行解析的“解析”和“询问”阶段。

使用命令行“解析”和“询问”

try { // "Parsing" stage. final Main main = CommandLineParser.parse( Main.class, arguments, OptionStyle.LONG_OR_COMPACT); // "Interrogation" stage. out.println("You provided file name of '" + main.fileName + "' and verbose is set to '" + main.verbose + "'."); } catch (IllegalAccessException | InstantiationException | InvocationTargetException exception) { out.println("ERROR: Unable to parse command-line arguments: " + exception); }

最后一个代码示例演示了使用单个CommandLineParser.parse(Class, String[], OptionStyle)调用即可完成解析CommandLineParser.parse(Class, String[], OptionStyle)并且查询与访问该方法返回的实例成员一样简单。 提供给parse方法的第三个参数很重要,因为它指示解析器如何期望显示开关。

刚刚显示的代码示例使用OptionStyle.LONG_OR_COMPACT ,该文档描述:“长开关前面有两个破折号。 短开关前面加一个破折号,可以连接成一个开关。” 相反, OptionStyle.SIMPLE指示解析器期望“所有开关必须是独立的”和“所有(长和短)开关都必须在命令行前加一个破折号。”

下一个屏幕快照演示了此简单的应用程序的实际操作。

java调用带用户名密码的wsdl java代码调用命令行_android

如果未提供必需的参数,则会显示一条消息(包括堆栈跟踪),类似于下一个屏幕快照中所示。

java调用带用户名密码的wsdl java代码调用命令行_python_02

我在此处不包括基于Commandline使用帮助或用法的示例,因为,正如该项目的GitHub页面所述,“生成帮助文本”是“当前不支持的功能”。

选择库以帮助进行Java中的命令行解析时,需要考虑以下Commandline的其他特征。

Commandline是开源的,并根据Apache License Version 2.0获得许可 。 当前版本的Commandline( 1.7.0 )至少需要Java SE 7 。 commandline-1.7.0.jar大小约为38 KB,并且不依赖于任何其他库。

命令行是Java开发人员可以使用的大量开源命令行处理库中的另一个,并且与其他几个命令行库一样,命令行使用注释来完成大部分繁重的工作。

其他参考 GitHub上的命令行 Maven Central上的命令行

翻译自: https://www.javacodegeeks.com/2017/06/java-command-line-interfaces-part-4-commandline.html

java调用命令行命令



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有