如何安装 JCommander 并在我的程序中使用它?

How to install JCommander and use it in my program?

我正在做一个项目,我想使用JCommander 来解析命令行输入。但是我不知道如何将它添加到我的机器上并使用它。

这里是GitHub page for JCommander。 那么如何在下载代码的 zip 文件后将其添加到我的机器中?

我现在没有使用任何 IDE(使用 Sublime 文本和命令行)。

即使您不想使用 IDE,您仍然可以 create a maven project。然后在 pom.xml

中添加以下依赖项
<dependency>
  <groupId>com.beust</groupId>
  <artifactId>jcommander</artifactId>
  <version>1.48</version>
</dependency>

然后,一旦您完成了应用程序的编码,就可以在终端中执行 mvn clean install,然后您可以使用 java -jar 选项 运行 在目标文件夹中创建的 jar。希望有所帮助。没有什么比从命令行使用 mvn 更好的了。我还会推荐 maven assembly 和 maven jar 插件。它们让您的生活更轻松。查看更多here

我刚刚 运行 遇到了同样的问题。这是对我有用的。

  1. http://mvnrepository.com/artifact/com.beust/jcommander/latest 下载 jcommander jar 文件,按照该页面上 table 上 "Artifact" 的 link 进行操作。下载的文件名为jcommander-X.XX.jar.

  2. 下载后,假设您正在使用路径 myJavaFiles/Example.java 中的文件,创建目录 myJavaFiles/lib 并将文件放在那里。

  3. 创建 minifest.txt 文件

  4. 现在你有了结构 myJavaFiles ├── Example.java ├── lib │   └── jcommander-X.XX.jar └── manifest.txt

5 您可以尝试将 java 文件设为 Example.java

import com.beust.jcommander.JCommander;
import com.beust.jcommander.Parameter;

class Example {
  @Parameter(names={"--length", "-l"})
  int length;
  @Parameter(names={"--pattern", "-p"})
  int pattern;

  public static void main(String ... args) {
    Example ex = new Example();
    new JCommander();
    ex.run();
  }

  public void run() {
    System.out.printf("%d %d", length, pattern);
  }
}

6 现在把它们放在一起你可以走两条路。

6.a 使用此命令生成 class 个文件 javac -cp lib/jcommanderXX.XX.jar Example.java

然后 运行 你的程序从 class 文件直接使用 java -cp lib/*:. Example -l 4 --pattern 5

或者如果您想创建一个独立的 jar 文件...

6.b 创建一个 manifest.txt 文件并在其中添加 classpath 和 lib 路径 Class-Path: lib/jcommander-X.XX.jar Main-Class: Example 之后你可以使用这个 javac -cp lib/jcommander-X.XX.jar Example.java

进行编译

最后 运行 它与 java -cp lib/*:. Example -l 4 --pattern 5

所有这些 ^^ 都可以通过命令行完成,而无需引入 gradle 或 maven 构建,如果您只是在寻找在命令行上工作的简单方法,那么这应该可以与其他库一起使用也是。

版本更新:2017年6月最新版本为1.72。

1.48 和 1.72 之间有一些重大更新。如果你试图从最新的官方文档中学习,你会感到困惑。所以你可能想包括这个:

<dependency>
    <groupId>com.beust</groupId>
    <artifactId>jcommander</artifactId>
    <version>1.72</version>
</dependency>

如需进一步的 maven 版本更新,您可能需要单击此 link:https://mvnrepository.com/artifact/com.beust/jcommander