Установка средства запуска команд Azure для Java

Средство запуска команд Azure для Java доступно в Linux для x64 и arm64. Поддерживаемые методы установки:

Образы контейнеров

Это средство включено в образы контейнеров для Microsoft Build OpenJDK. Дополнительная настройка не требуется.

Например, следующий файл Dockerfile использует jaz для запуска приложения Java из файла jar:

# Use any Microsoft Build of OpenJDK base image
FROM mcr.microsoft.com/openjdk/jdk:25-ubuntu

# Add your application.jar
COPY application.jar /application.jar

# Use jaz to launch your Java application
CMD ["jaz", "-jar", "application.jar"]

Установка в Azure Linux

Для виртуальных машин и других сред Linux Azure средство можно установить с помощью диспетчера tdnf пакетов. Установите пакет со следующей jaz командой:

sudo tdnf install jaz

Другие дистрибутивы Linux

Если вы уже настроили репозиторий программного обеспечения Linux для продуктов Microsoft, выполните соответствующую команду диспетчера пакетов для дистрибутиваjaz, чтобы установить пакет.

Например, в дистрибутивах на основе Ubuntu или Debian выполните следующую команду:

sudo apt-get install jaz

Если у вас не настроен репозиторий программного обеспечения Linux для продуктов Microsoft, следуйте инструкциям для вашего дистрибутива Linux.

Чтобы установить в Ubuntu, откройте терминал и выполните следующие команды:

wget "https://packages.microsoft.com/config/ubuntu/$(. /etc/os-release; echo $VERSION_ID)/packages-microsoft-prod.deb" -O packages-microsoft-prod.deb && \
  sudo dpkg -i packages-microsoft-prod.deb

После добавления репозитория установите jaz , выполнив следующие команды:

sudo apt-get install apt-transport-https
sudo apt-get update
sudo apt-get install jaz

Сертифицированные версии JDK

Средство запуска команд Azure для Java требует установки JDK на основе OpenJDK (версии 8 или более поздней) в системе.

Это важно

Средство запуска команд Azure для Java требует полной установки JDK. Он не полностью протестирован с установками только JRE или пользовательскими средами выполнения на основе jlink. Дополнительные сведения см. в статье "Почему она не работает с средами выполнения JRE или jlink?".

Azure Command Launcher for Java сертифицирован со следующими JDK, для которых предоставляется полный набор корректировок параметров и оптимизаций как для x64, так и для arm64:

С другими JDK на основе OpenJDK инструмент делает всё возможное, чтобы запустить ваше приложение, но может не применять полный набор корректировок производительности или оптимизаций, специфичных для версии. Некоторые оптимизации также относятся к Microsoft Build of OpenJDK и не применяются к другим дистрибутивам.

Когда средство обнаруживает JDK, который не сертифицирован, он выводит следующее предупреждение в стандартную ошибку и продолжает запускать приложение:

jaz: WARNING: Detected a version of Java that has not been certified by jaz.

Для получения наилучших результатов используйте один из сертифицированных JDK, перечисленных ранее.

Configuration

Команда jaz не использует аргументы командной строки для собственной конфигурации. Вместо этого по умолчанию он передает все аргументы непосредственно команде java . Чтобы убедиться, что jaz конфигурация не вмешивается в аргументы приложения, jaz принимает конфигурацию только через переменные окружения.

Вы можете настроить jaz команду с помощью следующих переменных среды:

Переменная среды Description
JAZ_HELP Установите 1 для печати сообщения справки и завершения с кодом 0.
JAZ_PRINT_VERSION Установите значение 1, чтобы печатать jaz версии на stdout и завершить выполнение с кодом 0.
JAZ_DRY_RUN Установите 1, чтобы выводить команду java, которая будет выполнена, и выйти с кодом 1.
JAZ_BYPASS Установите 1, чтобы обойти корректировки оптимизации jaz. Не влияет на данные телеметрии.
JAZ_IGNORE_USER_TUNING Настройте 1 на игнорирование всех флагов настройки, предоставленных пользователем, и вместо этого примените jaz настройку. В противном случае jaz настраивает JVM только в том случае, если не обнаруживает заданных пользователем параметров настройки. Дополнительные сведения о том, как работает с включенными и выключенными параметрами, см. в статье jaz.
JAZ_EXIT_WITHOUT_FLUSH Установите для 1 чтобы пропустить сброс данных телеметрии при выходе. Этот параметр позволяет избежать потенциальных задержек (до 30 секунд) jaz при очистке данных, однако jaz может по-прежнему отправлять данные телеметрии.

Использование переменных среды, а не аргументов командной строки также упрощает настройку jaz в некоторых случаях. При развертывании контейнерного приложения иногда проще задавать переменные среды, чем изменять скрипты запуска. Экспериментирование с JAZ_IGNORE_USER_TUNING и JAZ_BYPASS может оказаться полезным при оценке jaz.