2017-06-25 11 views
1

私はJcommanderライブラリを使用してコマンドライン引数を解析しています。 私の問題は、Jcommanderによって生成された使用メッセージのフォーマットにあります。 これは、使用関数の出力です:Jcommanderの使用フォーマット

Usage: mvnUploader [options] 
Options: 
* -d, --directory 
    the directory of the artifacts to upload 
    -h, --help 
    print help message 

私はオプションと説明が同じ行になることを望んでは

マイ引数クラス:私は

public class OptionalArgs { 

@Parameter(names = {"-d", "--directory"}, required = true, description = 
      "the directory of the artifacts to upload") 
private String pathToArtifacts; 

@Parameter(names ={"-h", "--help"} , help = true, description = "print help 
                    message") 
private boolean help = false; 


public String getPathToArtifacts() { 
    return pathToArtifacts; 
} 

public boolean isHelp() { 
    return help; 
} 

} 
+0

使用方法の形式はハードコードされています。 'usage()'の実装が異なる 'JCommander'の独自のサブクラスを書くことができます。 – RealSkeptic

答えて

1

恐れている@RealSkepticは正しい。あなたを悩ます行の折り返しはJCommander.java, line 1210にあります。

out.append(indent).append(" " 
    + (parameter.required() ? "* " : " ") 
    + pd.getNames() 
    + "\n"); 

imho a custom impl。 usage()の場合は、JCommander.javaから約100行のコードを補う必要があります。設定可能なUsagePrinterクラスを導入したプルリクエストはどうですか?

+0

私は他のオプションを持っていないようです。ヘルプをくれてありがとうございます。 –

+0

あなたは歓迎です@RonBadur – Yevgeniy

関連する問題