命令行参数解析器
用途:对命令行参数进行解析,完成应用程序的配置
比如,启动应用的时候,通过命令行指定端口,如果没有指定,则使用默认的。
package org.apache.commons.cli; public class App { public static void main(String[] args) throws ParseException { test(args); } private static void test(String[] args) throws ParseException { Options options = new Options(); //arg1: 该选项的名称 //arg2: 该选项后面是否需要跟参数。 如,java -jar命令,jar选择后面不需要后面跟参数,即为false //arg3: 该选项的具体描述 options.addOption("t", false, "don't know"); options.addOption("c", true, "specify your country"); CommandLineParser parser = new BasicParser(); //在解析之前,必须将所有选项都设置到options中 CommandLine cmd = parser.parse(options,args); //不带参数值的选项,只检查此选项是否出现 if(cmd.hasOption("t")) System.out.println("命令行参数出现了't'选项"); else System.out.println("t选项没有出现"); //带参数值的选项,选项可以不出现在参数列表中;一旦出现,就必须跟参数,否则报错 //如,Run Configuration中配置Arguments参数,输入: -t -c 中国 String country = cmd.getOptionValue("c"); if(country==null) System.out.println("没有指定参数值,使用默认值,country=China"); else System.out.println("你指定的country="+country); } }
@SuppressWarnings("static-access") private static void withArgs(String[] args) throws ParseException { Option port = OptionBuilder.withArgName("portNumber")//参数名称 .hasArg()//需要指定参数值 .withDescription("listening port")//选项描述 .create("port");//选项名称 Options options = new Options(); options.addOption(port); CommandLineParser parser = new BasicParser(); CommandLine cmd = parser.parse(options, args); if(cmd.hasOption("port")) System.out.println("use specify port: " + cmd.getOptionValue("port")); else System.out.println("use default port:" + 9999); //格式化输出选项 HelpFormatter formatter = new HelpFormatter(); formatter.printHelp("maven", options); }
相关推荐
对于Perun-java-cli来说,可能使用了Java的IO流进行文件操作,使用了Apache Commons CLI或者JCommander等库来处理命令行参数,还可能使用了HTTP客户端库如OkHttp或Apache HttpClient来与Perun服务端进行通信。...
这个压缩包"powermock-examples-apachecli-1.5.5.zip"包含了PowerMock的一个示例项目,专门针对Apache Commons CLI库。PowerMock是一个强大的Java单元测试框架,它允许开发者模拟静态方法、构造函数、final类和方法...
在Web_CLI_Shell项目中,它可能列出了Web服务器库(如Jetty或Tomcat)、Web框架(如Spring Boot)、以及任何用于解析和执行CLI命令的库(如Apache Commons CLI)等依赖。 4. `src`:这是源代码目录,通常包含Java源...
3. **org.apache.commons.cli_1.2.0.v201105210650.jar** - Apache Commons CLI 是一个处理命令行参数的Java库,简化了命令行接口的解析和管理。 4. **jsonedit-validator_0.9.7.jar** - JSON编辑器验证插件,可能...
6. **commons-cli**:Apache Commons CLI库,用于处理命令行选项和参数,简化命令行接口的创建。 7. **backport-util-concurrent**:这个库提供了一些Java并发API的回移植,使得在Java 5之前的版本中也可以使用类似...
7. **commons-cli**:Apache Commons CLI提供了处理命令行参数的工具,使得在Java程序中解析命令行选项变得简单。 8. **backport-util-concurrent**:这个库是Java并发包的回移植,将Java 5和6中的并发特性(如`...
7. **API和库的使用**:可能使用了特定的Java库来增强终端功能,例如JLine库用于更好的命令行交互,或Apache Commons CLI用于处理命令行选项。 8. **版本控制**:由于文件名含有"master",这通常与Git版本控制系统...
5. **命令行界面**:pgloader通常有一个命令行界面供用户交互,这部分源码可能会涉及Java的命令行参数解析,如Apache Commons CLI库。 6. **配置文件处理**:pgloader使用配置文件来定义迁移规则,源码中会有读取和...
6. **commons-cli**: Apache Commons CLI 提供了处理命令行参数和选项的功能,方便创建具有命令行界面的应用程序。 7. **backport-util-concurrent**: 这是一个将 Java 5 中的并发工具类(如 Future 和 Executor)...
【描述】:CommandLineDriver是一个用于创建交互式命令行应用程序的通用库,它在设计时可能是为了简化用户与程序之间的交互,特别是在开发者在学校期间编写项目时,可能还没有接触到Apache Commons CLI这样的成熟库...
7. **命令行界面**:ScheduleScraper可能是通过命令行界面(CLI)与用户交互,使用System.in、System.out进行输入输出,或者使用Apache Commons CLI库来处理命令行参数。 8. **持续集成/持续部署(CI/CD)**:对于一...
9. **命令行参数处理**: 如果项目通过命令行运行,那么可能使用了Runtime.exec()或者Apache Commons CLI库来处理命令行参数,允许用户定制生成试题的参数。 10. **模板引擎**: 为了动态生成题目,项目可能使用了...
8. **标准库和第三方库**:Java有丰富的标准库,此外,`cursomc`可能还依赖于一些第三方库(如Apache Commons、Guava等)来增强功能或简化编码。 9. **测试**:良好的软件工程实践通常包括单元测试和集成测试。`...