JOpt Simple可以用来解析命令参数,以Java为例

import joptsimple.OptionParser;
import joptsimple.OptionSet;
public class OptionParserTest {public static void main(String[] args) throws Exception {OptionParser parser = new OptionParser();parser.accepts("zookeeper", "it is required").withRequiredArg().describedAs( "zookeeper connect address." ).ofType( String.class );OptionSet options = parser.parse(args);if(!options.has("zookeeper")) {throw new Exception("zookeeper is required");}System.out.println((String)options.valueOf("zookeeper"));}
}

代表的意思是,输入参数中必须包含“zookeeper”参数,否则会抛出异常;

验证:
1.将OptionParser导出为一个jar文件;
2.打开cmd命令窗口;
3.输入 java -jar OptionParserTest;
4.会提示"zookeeper is required";
5.重新输入:java -jar OptionParserTest --zookeeper localhost:2181
6.结果打印:localhost:2181

下面参考一下kafka的参数解析

//创建解析对象
val parser = new OptionParser(false)
//定义需要解析的参数
val zkConnectOpt = parser.accepts("zookeeper", "REQUIRED: The connection string for the zookeeper connection in the form host:port. " +"Multiple hosts can be given to allow fail-over.").withRequiredArg.describedAs("hosts").ofType(classOf[String])
//解析入口参数
val options = parser.parse(args : _*)//检查必须参数
CommandLineUtils.checkRequiredArgs(parser, options, zkConnectOpt)//CommandLineUtils类的checkRequiredArgs方法如下
def checkRequiredArgs(parser: OptionParser, options: OptionSet, required: OptionSpec[_]*) {for (arg <- required) {if(!options.has(arg))printUsageAndDie(parser, "Missing required argument \"" + arg + "\"")}
}

JOpt Simple OptionParser解析命令参数相关推荐

  1. 如何在Java中解析命令行参数?

    在Java中解析命令行参数的好方法是什么? #1楼 我不建议使用Apache Common CLI库,因为它是非线程安全的. 它使用带有静态变量和方法的有状态类来进行内部工作(例如OptionBuil ...

  2. python使用argparse解析命令行参数

    python使用argparse解析命令行参数 你的程序如何能够解析命令行选项(位于sys.argv中) #示意使用sys.argv进行参数解析: #注意,sys.argv中第0个索引是函数本身,所以 ...

  3. python 命令-python解析命令行参数的三种方法详解

    这篇文章主要介绍了python解析命令行参数的三种方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 python解析命令行参数主要有三种方法: ...

  4. Go 的 flag 包可以解析命令行的参数

    Go 的 flag 包可以解析命令行的参数. 一.命令行语法 命令行语法主要有以下几种形式: cmd -flag       // 只支持bool类型 cmd -flag=xxx cmd -flag ...

  5. C语言中使用库函数解析命令行参数

    在编写需要命令行参数的C程序的时候,往往我们需要先解析命令行参数,然后根据这些参数来启动我们的程序. C的库函数中提供了两个函数可以用来帮助我们解析命令行参数:getopt.getopt_long. ...

  6. python中的argparse包——用于解析命令行参数

    python自带的argparse包,常用于解析命令行的参数 使用方法example: import argparse parser = argparse.ArgumentParser() #将arg ...

  7. python argparse nargs_Python | 使用argparse解析命令行参数

    今天是Python专题第27篇文章,我们来聊聊Python当中的命令行参数工具argparse. 命令行参数工具是我们非常常用的工具,比如当我们做实验希望调节参数的时候,如果参数都是通过硬编码写在代码 ...

  8. path r'c test.html',robot framework - robot命令参数解析

    robot 命令参数解析 version > 3.0.1 原文档查看命令: robot --help robot -h -F --extension value 通过文件扩展名控制需要执行的用例 ...

  9. Python 中的解析命令行参数

    argparse argparse 是 Python 内置的一个用于命令项选项与参数解析的模块,通过在程序中定义好我们需要的参数,argparse 将会从 sys.argv 中解析出这些参数,并自动生 ...

最新文章

  1. java中正则表达式要进行转义的字符。
  2. [资料]Keychain 获取设备唯一
  3. SpringCloud学习之路(一)-简单Demo
  4. tomcat常见配置及优化、升级
  5. 如何有效看文献(一)
  6. java中两种遍历集合的方式_Java中Map集合的两种遍历方式
  7. mysql修改数据sql语句_sql语句修改数据
  8. CSS进阶(15)—— CSS世界的层叠规则(上)
  9. 编程之美读书笔记_1.4 买书问题
  10. 2021年信息安全工程师真题与答案
  11. 手机影音第十六天,集成eventbus代替广播 ;在音乐播放页面中间部分显示歌词
  12. STLINK下载程序出现cannot access target. shutting down debug session问题解决的一般步骤
  13. scp命令默认传输速度多大_加速scp传输速度
  14. mp4视频文件损坏的修复方法
  15. 设备树之emmc驱动移植
  16. 给JS对象添加属性和方法
  17. LeetCode-378.有序矩阵中第k小的元素、二分查找
  18. 【图片新闻】法国计划加快天基激光武器的研发与部署
  19. Spring注解定义 bean 的12种方法
  20. 【模块介绍】WS2812(硬件部分)

热门文章

  1. MYSQL 【汇总数据】 【分组数据】 学习记录
  2. 演义群侠传(八)【bloom组件源码学习】
  3. Android游戏开发基础part4--Bitmap位图的渲染与操作
  4. [Vue.js]实战 -- 电商项目(二)
  5. mysql table as_Mysql中create table as与like命令的区别
  6. linux gdb 脚本,如何写gdb命令脚本
  7. “云时代架构”经典文章阅读感想十六
  8. linux自定义开机启动服务和chkconfig使用方法
  9. 升级nodejs至最新
  10. 通过Python实现简单的计算器