Jcommander使用格式

时间:2017-06-25 11:32:58

标签: java jcommander

嘿我正在使用Jcommander库来解析命令行参数。 我的问题是Jcommander生成的使用消息的格式。 这是使用函数的输出:

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

我希望选项和说明位于同一行

我的args课程:

 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;
 }

}

1 个答案:

答案 0 :(得分:1)

我害怕@RealSkeptic是对的。困扰你的换行包围在JCommander.java, line 1210

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

imho a custom impl。 usage()需要付出很大的努力,因为你必须从JCommander.java补偿大约100行代码。那个引入可配置UsagePrinter类的拉取请求呢?