当前位置: 首页 > news >正文

JAVA 命令行参数解析,org.apache.commons.cli的使用

  • maven依赖引入
<dependency>
    <groupId>commons-cli</groupId>
    <artifactId>commons-cli</artifactId>
    <version>1.2</version>
</dependency>
  • 示例代码,以下是从命令行读取文件路径的例子
private static void main(String[] args) {
        
        final Options options = new Options();
        final Option option = new Option("f", true, "Configuration file path");
        options.addOption(option);
        
        final CommandLineParser parser = new PosixParser();
        CommandLine cmd = null;
        try {
            cmd = parser.parse(options, args);
        } catch (final ParseException e) {
            throw new Exception("parser command line error",e);
        }
        
        String configFilePath = null;
        if (cmd.hasOption("f")) {
            configFilePath = cmd.getOptionValue("f");
        }else{
            System.err.println("please input the configuration file path by -f option");
            System.exit(1);
        }
        if (StringUtils.isBlank(configFilePath)) {
            throw new Exception("Blank file path");
        }
        
        return configFilePath;
    }

 

转载于:https://www.cnblogs.com/fightingcoding/p/6396165.html

相关文章:

  • 几款网络测试工具总结
  • CentOS7 添加路由命令
  • IDEA web项目部署运行Tomcat
  • Maven国内高速镜像
  • 如何优雅的拔盘?
  • EF 小数位的保留
  • 前端之css样式02
  • 用nginx搭建http/rtmp/hls协议的MP4/FLV流媒体服务器
  • 运用JS实现放大镜功能
  • Python Day4
  • Monty Hall 问题与贝叶斯定理的理解
  • 更改backend
  • 39条常见的Linux系统简单面试题
  • mybatis动态sql中的trim标签的使用
  • 开源一个封装AFNetworking的网络框架 - SJNetwork
  • Google 是如何开发 Web 框架的
  • [Vue CLI 3] 配置解析之 css.extract
  • 【跃迁之路】【699天】程序员高效学习方法论探索系列(实验阶段456-2019.1.19)...
  • canvas实际项目操作,包含:线条,圆形,扇形,图片绘制,图片圆角遮罩,矩形,弧形文字...
  • ES6 ...操作符
  • ES6核心特性
  • Hibernate【inverse和cascade属性】知识要点
  • js中forEach回调同异步问题
  • nginx 配置多 域名 + 多 https
  • nodejs调试方法
  • 前嗅ForeSpider采集配置界面介绍
  • 再谈express与koa的对比
  • 追踪解析 FutureTask 源码
  • #14vue3生成表单并跳转到外部地址的方式
  • #include<初见C语言之指针(5)>
  • #Lua:Lua调用C++生成的DLL库
  • $Django python中使用redis, django中使用(封装了),redis开启事务(管道)
  • (03)光刻——半导体电路的绘制
  • (C语言)共用体union的用法举例
  • (C语言)逆序输出字符串
  • (八十八)VFL语言初步 - 实现布局
  • (附源码)spring boot火车票售卖系统 毕业设计 211004
  • (四)模仿学习-完成后台管理页面查询
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)
  • (轉貼) 寄發紅帖基本原則(教育部禮儀司頒布) (雜項)
  • ./configure、make、make install 命令
  • .mat 文件的加载与创建 矩阵变图像? ∈ Matlab 使用笔记
  • .NET CORE 第一节 创建基本的 asp.net core
  • .NET Core工程编译事件$(TargetDir)变量为空引发的思考
  • .net6使用Sejil可视化日志
  • .NET微信公众号开发-2.0创建自定义菜单
  • .NET下ASPX编程的几个小问题
  • ::before和::after 常见的用法
  • @Autowired 与@Resource的区别
  • @RequestBody的使用
  • @Transient注解
  • [ vulhub漏洞复现篇 ] ThinkPHP 5.0.23-Rce
  • [04] Android逐帧动画(一)
  • [22]. 括号生成