javajar文件命令行中的选项
我试着四处搜索,但没有看到合适的文件显示如何做,所以我张贴了这篇文章 我想调用jar文件中的函数来处理命令行中给定的字符串,例如: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
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。投票!