Попытка понять, как создать файл JAR, который открывает терминал и принимает аргумент - PullRequest
0 голосов
/ 18 февраля 2019

Я закончил создание программы, но мне сказали, что моя программа должна быть приложением Java, которое принимает в качестве аргумента командной строки имя файла. "Я понимаю, что могу использовать команду jar в терминале, но я не понимаюкак вы открываете терминал и берете имя файла в качестве аргумента. Мне было интересно, если кто-нибудь может объяснить, какой код требуется для этого."jar cvf findOptimalTransport.jar.", но файл jar не открывается, я думаю, что это потому, что текущая реализация принимает пользовательский ввод со сканнаром в коде и печатает через терминал. Однако это не будет работать, потому что окно терминала неоткрывается с помощью этой команды.

1 Ответ

0 голосов
/ 18 февраля 2019

Это не обязательно файл jar .Аргументы командной строки можно вводить из командной строки при запуске приложения.

Позвольте мне привести пример того, как это работает.Допустим, у вас есть следующее простое Java-приложение:

public class MyApplication{

    public static void main(String[] arguments){
        System.out.println("Hello World!");
    }
}

То, что public static void main() - это метод;и, более конкретно, основной метод вашего приложения, который выполняется при компиляции и запуске.

Чтобы скомпилировать и затем запустить его, введите в командной строке / терминал:

javac MyApplication.java  //this will compile it
java MyApplication  //this will run the main method of MyApplication

Но что это за параметр в методе main?Что такое String[] arguments?

Когда вы запускаете свою программу, все, что вы вводите после имени приложения, является аргументом , типа String , и оно сохраняется вСтроковый массив String[] arguments (или чаще всего String[] args) .

Что это означает, если вы выполняете свое приложение следующим образом:

java MyApplication some_file.txt // Run application with one arg.

Вы можете получить доступ к этому аргументу следующим образом:

public class MyApplication{

    public static void main(String[] arguments){
        System.out.println("Hello World!");
        System.out.println("You entered: " + arguments[0]);
    }
}

Вывод:

Hello World!

Вы ввели: some_file.txt


Примечание. Для запуска файла JAR необходимо перейти к папке, в которой находится файл JAR, и из командной строки вы можете запустить егонабрав:

java -jar <jarname>.jar

...