Apache Commons CLI 基本使用
- Java
- 2019-09-22
- 120热度
- 0评论
需求描述:通过命令行给 Java 程序传递参数,在程序中提取出参数的值。
使用 apache commons-cli 来解决这个问题。
1 引入依赖
<dependency> <groupId>commons-cli</groupId> <artifactId>commons-cli</artifactId> <version>1.4</version> </dependency>
2 代码示例
import org.apache.commons.cli.*; public class Demo { public static void main(String[] args) throws ParseException { final String[] mockArgs = new String[] { "--foo=bar" }; parseTest(mockArgs); } private static void parseTest(String[] args) throws ParseException { final Options options = new Options(); options.addOption(new Option("f", "foo", true, "foo arg demo")); CommandLineParser parser = new DefaultParser(); final CommandLine cl = parser.parse(options, args); assert "bar".equals(cl.getOptionValue("foo")); } }
这段代码展示了如何解析形如 --foo=bar 的参数。还支持其他参数形式,具体可查阅官方文档,并参考源码中的单元测试。