`

Commons CLI 的使用

阅读更多

java 命令行通用jar包,用于处理命令行控制,如:

 

usage: ls
-A,--almost-all          do not list implied . and ..
-a,--all                 do not hide entries starting with .
-B,--ignore-backups      do not list implied entried ending with ~
-b,--escape              print octal escapes for nongraphic characters
    --block-size <SIZE>   use SIZE-byte blocks
-c                       with -lt: sort by, and show, ctime (time of last
                          modification of file status information) with
                          -l:show ctime and sort by name otherwise: sort
                          by ctime
-C                       list entries by columns

示例:

CommandLineParser parser = new PosixParser();
CommandLine cmd = parser.parse( options, args);

 

项目实例:

public static void main(String[] args) {
  
 //获取spring
  AbstractApplicationContext context;
  BookStaticizeService bookStaticizeService;
  context = new ClassPathXmlApplicationContext("/META-INF/spring/applicationContext-core.xml");
  context.registerShutdownHook();
  bookStaticizeService = (BookStaticizeService) context.getBean("bookStaticizeService");

 

//命令行处理:
  CommandLineParser parser = new PosixParser();
  Options options = new Options();
  options.addOption("h", "help", false, "print this message");
  options.addOption("s", "store", true,
    "store to staticize");
  options.addOption("b", "book", false,
  "book to staticize");
  options.addOption("a", "all", false, "process all");
  options.addOption("f", "force", false, " force process all");
  
  try {
   CommandLine line = parser.parse(options, args);
   if (args.length < 1 || line.hasOption("h")) {
    HelpFormatter formatter = new HelpFormatter();
    formatter
      .printHelp(
        "java -jar com.ztl.book3un.staticize15.client-1.5.0-shaded.jar",
        options);
    return;
   }
   boolean force = false;
   if(line.hasOption("f")){
    if(force){
     
    }
   }
   if (line.hasOption("a")) {
    bookStaticizeService.processAllStatic(force);
    return;
   }
   if (line.hasOption("s")) {
    
    String storeId = line.getOptionValue("s");
    log.debug("storeId :"+storeId);
    bookStaticizeService.processStatic(storeId, force);
    log.debug("last ---------");
   }
   if (line.hasOption("b")) {
    String bookId = line.getOptionValue("b");
    bookStaticizeService.processStaticBookId(bookId, force);
   }
  } catch (ParseException exp) {
   System.err.println(exp.getMessage());
  }

分享到:
评论

相关推荐

    ALevin环境配置所需的jar包——commons-cli-1,5,0

    ALevin环境配置所需的jar包——commons-cli-1,5,0 适合人群: 对虚拟网络嵌入算法感兴趣的人 能学到什么: 可以帮你快速的将ALevin基础运行环境配置好,为你节省时间进行进一步的学习 阅读建议: 由于ALevin的配置...

    commons-cli-1.3.1-bin

    java commons cli 库

    commons-cli-1.3.1-API文档-中文版.zip

    赠送jar包:commons-cli-1.3.1.jar; 赠送原API文档:commons-cli-1.3.1-javadoc.jar; 赠送源代码:commons-cli-1.3.1-sources.jar; 赠送Maven依赖信息文件:commons-cli-1.3.1.pom; 包含翻译后的API文档:...

    commons-cli-1.2-API文档-中文版.zip

    赠送jar包:commons-cli-1.2.jar; 赠送原API文档:commons-cli-1.2-javadoc.jar; 赠送源代码:commons-cli-1.2-sources.jar; 赠送Maven依赖信息文件:commons-cli-1.2.pom; 包含翻译后的API文档:commons-cli-...

    commons-cli-1.2-API文档-中英对照版.zip

    赠送jar包:commons-cli-1.2.jar; 赠送原API文档:commons-cli-1.2-javadoc.jar; 赠送源代码:commons-cli-1.2-sources.jar; 赠送Maven依赖信息文件:commons-cli-1.2.pom; 包含翻译后的API文档:commons-cli-...

    commons-cli-1.3-API文档-中文版.zip

    赠送jar包:commons-cli-1.3.jar; 赠送原API文档:commons-cli-1.3-javadoc.jar; 赠送源代码:commons-cli-1.3-sources.jar; 赠送Maven依赖信息文件:commons-cli-1.3.pom; 包含翻译后的API文档:commons-cli-...

    commons-cli:Apache Commons CLI

    与Apache Commons CLI的使用有关的问题应张贴到。 在哪里可以获得最新版本? 您可以从我们的下载源代码和二进制文件。 或者,您可以从中央Maven存储库中提取它: &lt; groupId&gt;commons-cli &lt; artifactId&gt;commons-...

    commons-cli-1.2.jar

    commons-cli-1.2.jar

    commons-cli-1.4.jar

    commons-cli-1.4.jar,commons-configuration-1.0.jar,commons-lang-2.3.jar,commons-logging-1.1.1.jar

    commons-cli-1.2.1.jar

    这是微信企业账户转账必用的一个JAR包,用户企业账户号给指定openid转账,通过微信直接转账到openid用户的零钱包中

    commons-cli-1.2-bin.zip

    commons-cli的jar包 Commons CLI 是一个用来处理命令行参数的 Java 工具包。

    commons-cli-1.0.jar

    commons-cli-1.0.jar Apache Commons CLI library为用户提供了一个解释命令行的API.它在解释命令行时主要有三个状态,即:定义、解释和询问交互

    Java命令行选项解析之Commons-CLI & Args4J & JCommander

    NULL 博文链接:https://rensanning.iteye.com/blog/2161201

    最新commons-cli,解析命令行参数

    最新的commons-cli,解析命令行参数,程序员必备,不要问我是谁,我叫雷锋,积分太多了,改了一下积分

    commons-cli-1.3.1-API文档-中英对照版.zip

    赠送jar包:commons-cli-1.3.1.jar; 赠送原API文档:commons-cli-1.3.1-javadoc.jar; 赠送源代码:commons-cli-1.3.1-sources.jar; 赠送Maven依赖信息文件:commons-cli-1.3.1.pom; 包含翻译后的API文档:...

    commons-cli jar包

    commons-cli包,进行命令行参数解析的工具类,java工具类。可以直接引用到项目中,简单又方便。

    commons-cli-1.5.0.jar

    commons-cli-1.5.0.jar

    commons-cli命令模式基本架构-自用

    commons-cli命令模式基本架构-自用

    commons-cli.jar

    hadoop的一个依赖的包,找了很久

    commons-cli

    commons-cli是Apache开源组织提供的用于解析命令行参数的包,命令行的处理共分为三个阶段:定义阶段、解析阶段和审讯阶段。

Global site tag (gtag.js) - Google Analytics