闲话少说,直接上代码:

package com.ilucky.druid.airlift.test2;import java.util.Arrays;import io.airlift.airline.Cli;
import io.airlift.airline.Cli.CliBuilder;
import io.airlift.airline.Help;
import io.airlift.airline.ParseArgumentsUnexpectedException;/*** v1.0:20161115* 组的概念.* 右击Run As - Run Configurations - Arguments - Program arguments* 输入: g1 G1MyCommand test, g1 G1MyCommand2 test,* 或g2 G2MyCommand test, 运行, 查看Console窗口.* @author Ilucky*/
public class MainTest {@SuppressWarnings("unchecked")public static void main(String[] args) {System.out.println("===> " + Arrays.asList(args));CliBuilder<Runnable> builder = Cli.<Runnable>builder("MyCommand:Builder");builder.withGroup("g1").withDescription("g1:Description").withDefaultCommand(Help.class).withCommands(Help.class, G1MyCommand.class, G1MyCommand2.class);builder.withGroup("g2").withDescription("g2:Description").withDefaultCommand(Help.class).withCommands(Help.class, G2MyCommand.class);Cli<Runnable> cliParser = builder.build();try {cliParser.parse(args).run();} catch (ParseArgumentsUnexpectedException e) {System.out.println("Invalid command:"+e.toString());}}
}
/**
输入: g1 G1MyCommand test, 结果:
===> [g1, G1MyCommand, test]
G1MyCommand=test输入: g1 G1MyCommand2 test, 结果:
===> [g1, G1MyCommand2, test]
G1MyCommand2=test输入: g2 G2MyCommand test, 结果:
===> [g2, G2MyCommand, test]
G2MyCommand=test
*/
package com.ilucky.druid.airlift.test2;import io.airlift.airline.Arguments;
import io.airlift.airline.Command;@Command(name="G1MyCommand",description="This is G1MyCommand")
public class G1MyCommand implements Runnable {@Argumentsprivate String command;@Overridepublic void run() {System.out.println("G1MyCommand=" + command);}
}
package com.ilucky.druid.airlift.test2;import io.airlift.airline.Arguments;
import io.airlift.airline.Command;@Command(name="G1MyCommand2",description="This is G1MyCommand2")
public class G1MyCommand2 implements Runnable {@Argumentsprivate String command;@Overridepublic void run() {System.out.println("G1MyCommand2=" + command);}
}
package com.ilucky.druid.airlift.test2;import io.airlift.airline.Arguments;
import io.airlift.airline.Command;@Command(name="G2MyCommand",description="This is G2MyCommand")
public class G2MyCommand implements Runnable {@Argumentsprivate String command;@Overridepublic void run() {System.out.println("G2MyCommand=" + command);}
}

Java命令行程序构建工具airlift使用之分组(group)相关推荐

  1. Java命令行程序构建工具airlift使用

    package com.ilucky.airlift;import java.util.Arrays;import io.airlift.airline.Cli; import io.airlift. ...

  2. Picocli-快速构建Java命令行程序

    相信每个Java程序员都曾使用过Scanner ,因编写出一个命令行程序而兴奋不已. 命令行程序也颇为实用,然而,使用Java来编写一个功能强大的命令行程序却并不容易,主要有以下几方面的痛点: 没有成 ...

  3. java 打印命令_Java 普通命令行程序main关掉 DEBUG 打印

    最近在写一个简单的java命令行程序,执行代码时,代码窗口出现了烦人的debug日志. 分析了一下,出现这种问题的原因是因为,maven项目的依赖包中传递依赖了一些日志框架,导致会出现日志内容的打印. ...

  4. java命令行参数工具_Java方法中的参数太多,第8部分:工具

    java命令行参数工具 在我的系列文章的前七篇文章中,有关处理Java方法中期望的参数过多的内容集中在减少方法或构造函数期望的参数数量的替代方法上. 在本系列的第八篇文章中,我将介绍一些工具,这些工具 ...

  5. 【日常记录】错误“应用程序无法启动,因为应用程序中的并行配置不正确,有关详细信息,请参阅应用程序事件日志,或使用命令行sxstrace.exe工具”解决办法

    win10安装理正深基坑软件出现该错误 错误"应用程序无法启动,因为应用程序中的并行配置不正确,有关详细信息,请参阅应用程序事件日志,或使用命令行sxstrace.exe工具"解决 ...

  6. java命令行运行 package_使用命令行运行Java程序

    很久没有试过用Java命令行来运行程序了.今天用的时候都感觉有点不太顺利了.所以特别记下来,以免后边什么时候又忘掉. 首先是将编写好的Java程序放在某一文件夹下边.(本文以D盘javabasecod ...

  7. vc2013 时错误 应用程序无法启动,因为应用程序的并行配置不正确。有关详细信息,请参阅应用程序事件 日志,或使用命令行 sxstrace.exe 工具。

    .exe"的激活上下文生成失败. 找不到从属程序集 Microsoft.VC90.DebugCRT,processorArchitecture="x86",publicK ...

  8. 谷歌浏览器出现:应用程序无法启动,因为应用程序的并行配置不正确。有关详细信息,请参阅应用程序事件日志,或使用命令行 sxstrace.exe 工具。

    作死,卸载软件,结果打开软件显示: 应用程序无法启动,因为应用程序的并行配置不正确.有关详细信息,请参阅应用程序事件日志,或使用命令行 sxstrace.exe 工具. 最终是发现确实配置版本信息的文 ...

  9. 加载ControlCAN.dll [WinError 14001] 应用程序无法启动,因为应用程序的并行配置不正确。有关详细信息,请参阅应用程序事件日志,或使用命令行 sxstrace.exe 工具。

    使用python加载动态库时报错如题目 应用程序事件日志显示: "XX\bin\Debug\xx.dll"的激活上下文生成失败. 找不到从属程序集 Microsoft.VC90.M ...

最新文章

  1. HanLP二元核心词典详细解析
  2. Angulary应用依赖里的zone.js
  3. python 矩阵点乘_Day276:普通乘积、矩阵点乘、克罗内克积
  4. 关于一个域名下如何更换网站
  5. jpanel把原本内容覆盖掉_A5:APP关键词覆盖你该了解哪些
  6. iphone全部机型_iPhone 12 销量或创 iPhone 6 以来最高|iphone|郭明錤
  7. java public 继承_java继承问题
  8. 以后外卖还可以买手机了!饿了么与上海迪信通达成合作
  9. php清空html_PHP清除html格式的代码
  10. 【转】接口测试面试题
  11. 基于ZFS+SAS的Tier2/backup存储系统解决方案
  12. 【FACT】函数使用技巧
  13. matlab天线测试数据处理,通信天线建模与MATLAB仿真分析.pdf
  14. Problem A: 零起点学算法93——矩阵转置
  15. 2022年华为杯中国研究生数学建模竞赛B题思路
  16. Nexus 6p 刷入TWRP和OPENGAPPS
  17. 最新,最严谨的手机号校验
  18. java生成excel表格
  19. 基于微信小程序的毕业设计题目(22)php有声读物音频播放小程序(含开题报告、任务书、中期报告、答辩PPT、论文模板)
  20. C++实现——任意多边形的面积

热门文章

  1. Goldman Sach's delay in crypto-related projects leads to tumbling cryptocurrencies
  2. Linux系统的安装与卸载
  3. 混合整数规划问题:Benders 解耦法
  4. 2021-2027全球与中国大灯维修工具雾化杯市场现状及未来发展趋势
  5. 深度学习服务器配置,2路-4路GPU
  6. 迅为RK3588开发板单独编译Android固件
  7. 网络性能-KPI-KQI-QoS-QoE及映射关系
  8. python发送手机验证码_[python发送短信验证码不用三方模块]python发送短信验证码...
  9. 使用接插件需要注意的问题
  10. (情感倾向分类)2分类文本任务,Bert微调详细教程