如何使用执行选项创建Jar文件?

时间:2019-03-08 17:42:07

标签: java linux command-line jar executable-jar

如何创建带有执行选项的jar文件,例如,想法是执行命令:

java -jar MyProgram.jar -M someFile.txt

java -jar MyProgram.jar -cp someFile.txt

因此-M选项定义了一种处理文件someFile.txt的特定方法,并且-cp选项定义了代码的另一种行为。

有了这个,我该如何从代码中获得结果,是否需要在Main类中编写某些内容,或者如何定义这种行为?

2 个答案:

答案 0 :(得分:1)

我认为您可能需要检查Apache Commons-CLI,它允许您执行上面描述的操作,还给出了一个示例,它是如何工作的,它为指定使用参数的消息提供了一种方式:

https://commons.apache.org/proper/commons-cli/introduction.html

 Options options = new Options();

    options.addOption( "M", false,"Merge files request.")
            .addOption("CP", false,"Copy files from file.");

    CommandLineParser parser = new DefaultParser();
    try {

        CommandLine cmd = parser.parse(options, args);
        if (!cmd.hasOption("M")) {
            throw new IllegalArgumentException("Must specify an input file.");
        }
        // Do something

        if (!cmd.hasOption("CP")) {
            throw new IllegalArgumentException("Must specify an input file.");
        }

       // Do something

    catch (Exception e) {
        System.out.println(e.getMEssage());
    }

答案 1 :(得分:0)

看看 this example

基本上是args 在您的主要方法中

public static void main(String[] args) { ... }

args =您放在java -jar MyJar.jar之后的 arg ument s       例如-cp someFile.txt       作为字符串[]:{"-cp", "someFile.txt"}