0

私は周りを検索しようとしましたが、これを行う方法を示す適切な文書が表示されませんでした。Java jarファイルのコマンドラインのオプション

私のようなコマンドラインで与えられた文字列を処理するために、私のjarファイル内の関数を呼び出すようにしたい:

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から次のように使用されるコードがある

java -jar myFile.jar -s "This is the string I want to process" 

常にnullです。どのようにして目的の文字列を読むことができますか?

詳細については、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これはどうやって分かりますか?彼は、クラス「オプション」の由来とそのAPIについて教えてくれませんでした。 – Jesper

関連する問題