【发布时间】:2017-07-31 10:50:07
【问题描述】:
我试图四处搜索,但没有看到合适的文档显示如何做,所以我发布了这个。
我想在我的 jar 文件中调用一个函数来处理命令行中给出的字符串,例如:
java -jar myFile.jar -s "This is the string I want to process"
用到的代码如下:
Option inputStringOpt = new Option("s", "Input string");
options.addOption(inputStringOpt);
try {
CommandLine commandLine = commandLineParser.parse(options, args);
String inputString = commandLine.getOptionValue("s");
//Call the required function
someFunction(inputString);
}
catch (ParseException e) {
System.err.println("Error: " + e.getMessage());
}
但是,inputString 始终为空。如何读取所需的字符串?
有关更多信息,它会使用 StringReader 抛出 NullPointerException。
谢谢。
【问题讨论】:
-
参数是否显示在
args中? -
Option和CommandLine的类来自哪里,某个库?它们不是标准的 Java API 类。 -
是的,它们来自库,我将它们包含在 jar 文件中。
-
哪个库?如果您需要有关问题的帮助,请提供所有相关信息。
-
@Jesper 他们来自 commons-cli
标签: java input nullpointerexception apache-commons-cli stringreader