Введение
Файлы Java Archive (JAR) необходимы программистам Java, поскольку они позволяют объединять несколько классов Java и связанных ресурсов в один файл для упрощения распространения и развертывания. В этом руководстве представлен подробный обзор создания и запуска файлов JAR на Java, а также практические примеры, которые помогут улучшить ваше понимание и навыки.
Понимание файлов JAR
Файл JAR во многом похож на zip-файл, используемый для объединения многих классов Java, метаданных и ресурсов (текста, изображений и т. д.) в один файл для эффективного хранения и распространения. Эти файлы не зависят от платформы, что делает их идеальными для развертывания приложений или библиотек Java в различных средах.
Способ 1: создание с помощью команды Jar
Шаг 1. Создайте программу Java
Прежде чем создавать файл JAR, вам понадобится программа Java. В нашем примере мы создадим простое приложение «Hello World».
//HelloWorld.java
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
Скомпилируйте эту программу с помощью компилятора Java (javac):
javac HelloWorld.java
Шаг 2. Создайте файл манифеста.
Файл манифеста — это специальный файл в JAR, который содержит информацию о файлах, сжатых в JAR, включая точку входа для исполняемого JAR. Вот простой файл манифеста под названием Manifest.txt, который указывает на основной класс:
Main-Class: HelloWorld
Примечание. Убедитесь, что в конце файла манифеста есть новая строка; в противном случае он может быть обработан неправильно.
Шаг 3. Создайте файл JAR.
Когда скомпилированный класс и файл манифеста готовы, вы можете создать файл JAR. Используйте команду jar следующим образом:
jar cvfm HelloWorld.jar Manifest.txt HelloWorld.class
Эта команда создает файл JAR с именем HelloWorld.jar с информацией о манифесте (параметр m), включая основной класс. Параметр v выдает подробный вывод, f указывает имя файла jar, а c указывает на создание нового архива.
Шаг 4. Запустите JAR-файл.
Чтобы запустить файл JAR, используйте команду Java с опцией -jar:
java -jar HelloWorld.jar
Если все настроено правильно, вы увидите вывод:
Hello, World!
Способ 2. Создание файла JAR с помощью Maven
Maven — популярный инструмент автоматизации сборки, используемый в основном для проектов Java. Упрощает процесс создания проектов, управления зависимостями и создания JAR.
Шаг 1. Настройка pom.xml
Каждый проект Maven имеет в корне файл pom.xml. Этот файл описывает конфигурацию проекта, зависимости и настройки сборки. Чтобы создать файл JAR, убедитесь, что ваш pom.xml содержит следующую базовую структуру:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>hello-world</artifactId>
<version>1.0</version>
<packaging>jar</packaging>
<dependencies>
<!-- Your dependencies here -->
</dependencies>
</project>
Шаг 2. Создайте файл JAR.
Настроив pom.xml, перейдите в каталог вашего проекта в терминале или командной строке и запустите:
mvn package
Maven компилирует ваш проект и упаковывает его в файл JAR, который обычно находится в каталоге target/вашего проекта. Команда также запускает все тесты по умолчанию, гарантируя, что пакет максимально безошибочен перед упаковкой.
Способ 3. Создание файла JAR с помощью Spring Boot
Spring Boot — это расширение платформы Spring, которое упрощает настройку и разработку новых приложений Spring. Он предпочитает соглашения, а не конфигурацию, и предназначен для того, чтобы вы могли как можно быстрее приступить к работе.
Шаг 1. Настройка проекта Spring Boot
Проекты Spring Boot можно инициализировать с помощью веб-сайта Spring Initializr ( https://start.spring.io/ ) или через IDE с поддержкой Spring Boot. Сгенерированный проект включает в себя файл pom.xml (для Maven) или build.gradle (для Gradle), предварительно настроенный для приложений Spring Boot.
Для Maven файл pom.xml будет включать родительский элемент запуска Spring Boot, что упрощает настройку Maven:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.1</version>
</parent>
Шаг 2. Создайте приложение.
Создайте класс приложения с аннотацией @SpringBootApplication. Например:
package com.example.helloworld;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class HelloworldApplication {
public static void main(String[] args) {
SpringApplication.run(HelloworldApplication.class, args);
}
}
Шаг 3. Создайте файл JAR.
С помощью Spring Boot создать файл JAR очень просто. Если вы используете Maven, запустите:
mvn clean package
Эта команда очищает каталог target/, компилирует проект, запускает тесты и упаковывает скомпилированный код в файл JAR внутри каталога target/. Плагин Spring Boot Maven автоматически включает все необходимые зависимости и настраивает манифест за вас.
Полученный JAR-файл представляет собой «исполняемый JAR-файл», который включает в себя встроенный веб-сервер (например, Tomcat), который позволяет легко запускать приложение Spring Boot с помощью простой команды:
java -jar target/hello-world-1.0.jar
Рекомендации по работе с файлами JAR
- Организуйте свои файлы. Храните исходные файлы, скомпилированные классы и файлы манифеста в отдельных каталогах, чтобы упростить процесс создания JAR.
- Используйте описательные имена. Выбирайте понятные и описательные имена для ваших файлов JAR, чтобы было легче определить их назначение.
- Управление версиями файлов JAR. Включите информацию о версии в имена файлов JAR или файлы манифеста для эффективного управления зависимостями.
- Защитите свои файлы JAR. Если вы распространяете файлы JAR публично, рассмотрите возможность подписания их цифровым сертификатом, чтобы гарантировать их целостность и подлинность.
Заключение
Файлы JAR — это мощная функция Java, упрощающая распространение и развертывание приложений и библиотек. Следуя шагам, описанным в этом руководстве, вы будете на пути к освоению создания и использования файлов JAR в своих проектах Java. Хотя создание JAR-файлов вручную обеспечивает фундаментальное понимание, такие инструменты, как Maven и такие платформы, как Spring Boot, значительно упрощают процесс разработки и развертывания. Автоматизируя такие задачи, как управление зависимостями и упаковка, эти инструменты позволяют разработчикам больше сосредоточиться на написании кода, а не на настройке, что делает разработку приложений Java более эффективной и безошибочной.