JOpt Simple OptionParser解析命令参数
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解析命令参数相关推荐
- 如何在Java中解析命令行参数?
在Java中解析命令行参数的好方法是什么? #1楼 我不建议使用Apache Common CLI库,因为它是非线程安全的. 它使用带有静态变量和方法的有状态类来进行内部工作(例如OptionBuil ...
- python使用argparse解析命令行参数
python使用argparse解析命令行参数 你的程序如何能够解析命令行选项(位于sys.argv中) #示意使用sys.argv进行参数解析: #注意,sys.argv中第0个索引是函数本身,所以 ...
- python 命令-python解析命令行参数的三种方法详解
这篇文章主要介绍了python解析命令行参数的三种方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 python解析命令行参数主要有三种方法: ...
- Go 的 flag 包可以解析命令行的参数
Go 的 flag 包可以解析命令行的参数. 一.命令行语法 命令行语法主要有以下几种形式: cmd -flag // 只支持bool类型 cmd -flag=xxx cmd -flag ...
- C语言中使用库函数解析命令行参数
在编写需要命令行参数的C程序的时候,往往我们需要先解析命令行参数,然后根据这些参数来启动我们的程序. C的库函数中提供了两个函数可以用来帮助我们解析命令行参数:getopt.getopt_long. ...
- python中的argparse包——用于解析命令行参数
python自带的argparse包,常用于解析命令行的参数 使用方法example: import argparse parser = argparse.ArgumentParser() #将arg ...
- python argparse nargs_Python | 使用argparse解析命令行参数
今天是Python专题第27篇文章,我们来聊聊Python当中的命令行参数工具argparse. 命令行参数工具是我们非常常用的工具,比如当我们做实验希望调节参数的时候,如果参数都是通过硬编码写在代码 ...
- path r'c test.html',robot framework - robot命令参数解析
robot 命令参数解析 version > 3.0.1 原文档查看命令: robot --help robot -h -F --extension value 通过文件扩展名控制需要执行的用例 ...
- Python 中的解析命令行参数
argparse argparse 是 Python 内置的一个用于命令项选项与参数解析的模块,通过在程序中定义好我们需要的参数,argparse 将会从 sys.argv 中解析出这些参数,并自动生 ...
最新文章
- java中正则表达式要进行转义的字符。
- [资料]Keychain 获取设备唯一
- SpringCloud学习之路(一)-简单Demo
- tomcat常见配置及优化、升级
- 如何有效看文献(一)
- java中两种遍历集合的方式_Java中Map集合的两种遍历方式
- mysql修改数据sql语句_sql语句修改数据
- CSS进阶(15)—— CSS世界的层叠规则(上)
- 编程之美读书笔记_1.4 买书问题
- 2021年信息安全工程师真题与答案
- 手机影音第十六天,集成eventbus代替广播 ;在音乐播放页面中间部分显示歌词
- STLINK下载程序出现cannot access target. shutting down debug session问题解决的一般步骤
- scp命令默认传输速度多大_加速scp传输速度
- mp4视频文件损坏的修复方法
- 设备树之emmc驱动移植
- 给JS对象添加属性和方法
- LeetCode-378.有序矩阵中第k小的元素、二分查找
- 【图片新闻】法国计划加快天基激光武器的研发与部署
- Spring注解定义 bean 的12种方法
- 【模块介绍】WS2812(硬件部分)
热门文章
- MYSQL 【汇总数据】 【分组数据】 学习记录
- 演义群侠传(八)【bloom组件源码学习】
- Android游戏开发基础part4--Bitmap位图的渲染与操作
- [Vue.js]实战 -- 电商项目(二)
- mysql table as_Mysql中create table as与like命令的区别
- linux gdb 脚本,如何写gdb命令脚本
- “云时代架构”经典文章阅读感想十六
- linux自定义开机启动服务和chkconfig使用方法
- 升级nodejs至最新
- 通过Python实现简单的计算器