3

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

这是JCommander 的 GitHub 页面。那么在下载代码的 zip 文件后如何将它添加到我的机器中呢?

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

4

3 回答 3

5

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

  1. 从http://mvnrepository.com/artifact/com.beust/jcommander/latest下载 jcommander jar 文件,点击该页面表格上的“Artifact”链接。下载的文件名为 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 使用此命令生成类文件javac -cp lib/jcommanderXX.XX.jar Example.java

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

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

6.b 创建一个 manifest.txt 文件并在其中添加类路径和 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 构建,如果您只是在寻找在命令行工作的简单方法,那么这也可以与其他库一起使用。

于 2016-06-20T07:09:46.267 回答
1

即使您不想使用 IDE,您仍然可以创建一个 Maven 项目。然后在您的 pom.xml 中添加以下依赖项

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

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

于 2015-10-10T00:25:29.367 回答
0

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

1.48 和 1.72 之间有一些重大更新。如果你试图从最新的官方文档中学习,你会感到困惑。因此,您可能希望包含以下内容:

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

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

于 2018-01-24T06:44:06.033 回答