Как создать файл Jar с параметрами выполнения? - PullRequest
0 голосов
/ 08 марта 2019

Как я могу создать файл JAR с параметрами выполнения, например, идея заключается в том, чтобы выполнить команду:

java -jar MyProgram.jar -M someFile.txt

или

java -jar MyProgram.jar -cp someFile.txt

Таким образом, опция -M определяетКонкретный метод для обработки файла someFile.txt и с -cp определяет другое поведение для кода.

Имея это в моем, как я могу получить этот результат из своего кода, мне нужно что-то написать в классе Main или как я могу определить такое поведение?

Ответы [ 2 ]

1 голос
/ 20 марта 2019

Я думаю, что вам, вероятно, нужно проверить 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());
    }
0 голосов
/ 08 марта 2019

взгляните на этот пример .

в основном args в вашем основном методе

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

args = arg элемент s , который вы поставили после java -jar MyJar.jar например -cp someFile.txt в виде строки []: {"-cp", "someFile.txt"}

...