【问题标题】:Jcommander usage formattingJcommander 使用格式
【发布时间】:2017-11-28 11:31:01
【问题描述】:

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

}

【问题讨论】:

  • 使用方法的格式是硬编码的。您可以使用 usage() 的不同实现编写自己的 JCommander 子类。

标签: java jcommander


【解决方案1】:

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

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

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

【讨论】:

  • 看来我除了拉取请求没有其他选择,谢谢帮助:)
猜你喜欢
  • 1970-01-01
  • 2014-08-25
  • 2015-07-14
  • 2020-08-09
  • 1970-01-01
  • 2018-10-14
  • 1970-01-01
  • 1970-01-01
  • 2016-03-07
相关资源
最近更新 更多