Как указать основной класс в манифест - файле для исполняемого JAR - файла

JavaJavaBeginner
Практиковаться сейчас

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

Введение

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

Понимание исполняемых JAR - файлов

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

Что такое исполняемый JAR?

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

Преимущества исполняемых JAR - файлов

Использование исполняемых JAR - файлов имеет несколько преимуществ:

  1. Портативность: Исполняемые JAR - файлы можно запускать на любой системе, на которой установлен Java Runtime Environment (JRE), что делает ваше приложение более переносимым.
  2. Простота: Пользователи могут запустить ваше приложение, просто дважды щелкнув по JAR - файлу или выполнив его из командной строки, не зная конкретного основного класса.
  3. Распространение: Исполняемые JAR - файлы можно легко распространять и делиться с другими, так как они содержат все необходимые компоненты для запуска приложения.

Структура исполняемого JAR

Исполняемый JAR - файл состоит из следующих ключевых компонентов:

  1. JAR - файл: Сам JAR - файл, который содержит скомпилированные Java - классы, ресурсы и другие вспомогательные файлы.
  2. Манифест - файл: Особый файл с именем MANIFEST.MF, который находится в каталоге META - INF JAR - файла. Этот файл содержит метаданные о JAR - файле, в том числе основной класс, который должен быть выполнен.
graph TD A[Executable JAR File] --> B[JAR File] A --> C[Manifest File] B --> D[Compiled Java Classes] B --> E[Resources] C --> F[Main-Class Attribute]

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

Настройка манифест - файла

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

Структура манифест - файла

Манифест - файл следует определенному формату, при котором каждая запись разделена символом новой строки, а ключ и значение разделяются двоеточием (:). Вот пример простого манифест - файла:

Manifest-Version: 1.0
Main-Class: com.labex.example.Main

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

Настройка манифест - файла

Для настройки манифест - файла вы можете использовать текстовый редактор или инструмент, такой как командная утилита jar. Вот пример того, как создать манифест - файл с использованием команды jar на системе Ubuntu 22.04:

## Create a new directory for the project
mkdir my-project
cd my-project

## Compile the Java classes
javac com/labex/example/Main.java

## Create the manifest file
echo "Main-Class: com.labex.example.Main" > MANIFEST.MF

## Create the JAR file with the manifest
jar cvfm my-app.jar MANIFEST.MF com/

В этом примере мы сначала создаем новый каталог для проекта и компилируем Java - классы. Затем мы создаем манифест - файл с атрибутом Main - Class, установленным на полное квалифицированное имя основного класса. Наконец, мы используем команду jar для создания исполняемого JAR - файла, указывая манифест - файл и скомпилированные Java - классы.

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

Сборка и запуск исполняемого JAR - файла

Теперь, когда вы настроили манифест - файл, вы готовы собрать и запустить исполняемый JAR - файл. Процесс включает в себя компиляцию Java - классов, создание JAR - файла и затем запуск JAR - файла.

Сборка исполняемого JAR - файла

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

## Compile the Java classes
javac com/labex/example/Main.java

## Create the manifest file
echo "Main-Class: com.labex.example.Main" > MANIFEST.MF

## Create the JAR file with the manifest
jar cvfm my-app.jar MANIFEST.MF com/

В этом примере мы сначала компилируем Java - классы, затем создаем манифест - файл с атрибутом Main - Class и, наконец, используем команду jar для создания исполняемого JAR - файла, указывая манифест - файл и скомпилированные Java - классы.

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

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

java -jar my-app.jar

Эта команда выполнит основной класс, указанный в манифест - файле, и запустит ваше Java - приложение.

Вы также можете дважды щелкнуть по JAR - файлу в файловом менеджере или использовать команду open на macOS для запуска исполняемого JAR - файла. Операционная система автоматически распознает JAR - файл как исполняемый и запустит Java - приложение.

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

Резюме

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