嘿,我正在使用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;
 }

}

最佳答案

恐怕@RealSkeptic是正确的。困扰您的换行位于JCommander.java, line 1210中。

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


恕我直言自定义展示。 usage()的工作量很大,因为您必须补偿JCommander.java的约100行代码。引入可配置的UsagePrinter类的拉取请求怎么样?

关于java - JCommander用法格式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44745932/

10-09 20:47