0

我試圖搜索周圍,但沒有看到適當的文件顯示如何這樣做,我張貼這個。Java jar文件的命令行選項

我要調用一個函數在我的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。

謝謝。

+1

是否參數'args'顯示? – Kayaman

+0

「Option」和「CommandLine」類來自哪裏,某些庫?它們不是標準的Java API類。 – Jesper

+0

是的,他們來自圖書館,我把它們包括在jar文件中。 – Hoai

回答

1

你的第一行應該是:

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

「true」選項是否意味着必須提供字符串? – Hoai

+0

@Hoai這意味着「s」選項有一個參數 –

+1

@MauricePerry你怎麼知道這個?他甚至沒有告訴我們'Option'類來自哪裏以及它的API是什麼。 – Jesper