Установка приложений Spring Boot: полностью исполняемый jar в Unix
Помимо запуска приложений Spring Boot с использованием java -jar, также можно создавать полностью исполняемые приложения для систем Unix. Полностью исполняемый jar может быть выполнен как любой другой исполняемый двоичный файл или он может быть зарегистрирован в init.d или systemd. Это упрощает установку и управление приложениями Spring Boot в обычных производственных средах.
Полностью исполняемые файлы jar работают путем встраивания дополнительного скрипта в начало файла. В настоящее время некоторые инструменты не принимают этот формат, поэтому вы не всегда сможете использовать эту технику. Например, jar -xf может молча не извлечь jar или war, которые были сделаны полностью исполняемыми. Рекомендуется сделать jar или war полностью исполняемым только в том случае, если вы намерены выполнять его напрямую, а не запускать его с помощью java -jar или развертывать его в контейнере сервлета.
Файл jar в формате zip64 нельзя сделать полностью исполняемым. Попытка сделать это приведет к тому, что файл jar будет поврежден при непосредственном выполнении или с помощью java -jar. Файл jar стандартного формата, который содержит один или несколько вложенных jar-файлов формата zip64, может быть полностью исполняемым.
Чтобы создать "полностью исполняемый" jar с Maven, используйте следующую конфигурацию плагина:
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<executable>true</executable>
</configuration>
</plugin>
В следующем примере показана эквивалентная конфигурация Gradle:
bootJar {
launchScript()
}
Затем вы можете запустить ваше приложение, набрав ./my-application.jar (где my-application - это имя вашего артефакта). Каталог, содержащий jar, используется в качестве рабочего каталога вашего приложения.
Поддерживаемые операционные системы
Сценарий по умолчанию поддерживает большинство дистрибутивов Linux и протестирован в CentOS и Ubuntu. Другие платформы, такие как OS X и FreeBSD, требуют использования собственного встроенного LaunchScript.
Читайте также:
- Spring Boot: развертывание в облаке, Cloud Foundry
- Развертывание приложений Spring Boot в контейнерах
- Spring Boot: развертывание в облаке
Комментарии
Отправить комментарий