Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javajar文件命令行中的选项_Java_Input_Nullpointerexception_Apache Commons Cli_Stringreader - Fatal编程技术网

javajar文件命令行中的选项

javajar文件命令行中的选项,java,input,nullpointerexception,apache-commons-cli,stringreader,Java,Input,Nullpointerexception,Apache Commons Cli,Stringreader,我试着四处搜索,但没有看到合适的文件显示如何做,所以我张贴了这篇文章 我想调用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 { Comman

我试着四处搜索,但没有看到合适的文件显示如何做,所以我张贴了这篇文章

我想调用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


谢谢。

您的第一行应该是:

Option inputStringOpt = new Option("s", true, "Input string");

参数是否显示在
参数中
?类
选项
命令行
来自何处,某个库?它们不是标准的JavaAPI类。是的,它们来自库,我将它们包含在jar文件中。哪个库?如果您需要有关问题的帮助,请包括所有相关信息。@Jesper他们来自commons Clip“true”选项是否表示必须提供字符串?@Hoai表示“s”选项具有argument@MauricePerry你怎么知道的?他甚至没有告诉我们类
Option
来自何处以及它的API是什么。@Jesper是的,他在帖子下面的评论中告诉了我们。它来自common-cli。工作起来很有魅力。非常感谢@MauricePerry。投票!