Запуск JAR-файла из командной строки

Beginner

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии вы научитесь создавать и запускать JAR-файл на Java в системе Ubuntu. JAR - это сокращение от Java Archive. JAR-файлы содержат сжатые файлы Java-проекта, включая файлы.class и другие метаданные и ресурсы, необходимые для проекта. Мы рассмотрим, как создать JAR-файл и выполнить его из командной строки.


Skills Graph

Создайте файл Java для тестирования

В этом шаге вы создадите файл Java с именем HelloWorld.java в каталоге ~/project. Содержимое файла HelloWorld.java должно быть следующим:

public class HelloWorld
{
    public static void main(String args[])
    {
        System.out.print("\n\nHello World\n\n");
    }
}

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

Скомпилируйте файл Java

В этом шаге вы скомпилируете файл HelloWorld.java с использованием следующей команды javac:

javac ~/project/HelloWorld.java

Создайте исполняемый JAR-файл

В этом шаге вы создадите исполняемый JAR-файл. исполняемый JAR-файл содержит манифестный файл, в то время как не исполняемый JAR-файл этого не содержит. Этот манифестный файл содержит имя класса, который должен быть выполнен при запуске JAR-файла. В системе Ubuntu вы можете создать исполняемый JAR-файл с этим манифестным файлом следующим образом:

  1. Создайте файл с именем ManifestFile.txt в каталоге ~/project и добавьте в файл следующее:
    Main-Class: HelloWorld
  2. Создайте исполняемый JAR-файл с помощью следующей команды:
    jar -cfm ~/project/HelloWorld.jar ~/project/ManifestFile.txt ~/project/HelloWorld.class
    Флаг -c используется для создания архивного файла. Флаг -f используется для указания имени файла. Флаг -m используется для включения содержимого манифестного файла.

Создайте не исполняемый JAR-файл

В этом шаге вы узнаете, как создать не исполняемый JAR-файл. Мы исключим флаг -m. Вам не нужно передавать имя манифестного файла в нашу команду. Вы можете создать не исполняемый JAR-файл с помощью следующей команды:

jar -cf ~/project/HelloWorldNonExec.jar ~/project/HelloWorld.class

Запустите исполняемый JAR-файл

В этом шаге вы узнаете, как запустить исполняемый JAR-файл, который вы создали на шаге 3. Вы можете запустить его с помощью следующей команды:

java -jar ~/project/HelloWorld.jar

Результатом выполнения команды будет:

Hello World

Запустите не исполняемый JAR-файл

В этом шаге вы узнаете, как запустить не исполняемый JAR-файл, который вы создали на шаге 4. Вы можете запустить его с помощью следующей команды:

java -cp ~/project/HelloWorldNonExec.jar HelloWorld

Результатом выполнения команды будет:

Hello World

Запуск JAR-файлов с аргументами командной строки

В этом шаге вы узнаете, как передавать аргументы командной строки при запуске JAR-файла.

  1. Создайте новый Java-класс с именем CommandLineArgs.java в каталоге ~/project с кодом:

    public class CommandLineArgs {
        public static void main(String args[]) {
            for (String s : args) {
                System.out.println(s);
            }
        }
    }
  2. Скомпилируйте CommandLineArgs.java:

    javac ~/project/CommandLineArgs.java
  3. Создайте исполняемый JAR-файл:

    jar -cfm ~/project/CommandLineArgs.jar ~/project/ManifestFile.txt ~/project/CommandLineArgs.class
  4. Запустите следующую команду, чтобы передать три аргумента командной строки:

    java -jar ~/project/CommandLineArgs.jar "Welcome " "Back " User

Результатом выполнения команды будет:

Welcome
Back
User

Резюме

Поздравляем! Вы завершили лабораторную работу "Запуск JAR-файла из командной строки". Вы можете выполнить больше лабораторных работ в LabEx, чтобы улучшить свои навыки.