Поделиться через


Краткое руководство. Создание приложения Java в службе приложение Azure

В этом быстром старте вы будете использовать плагин Maven для веб-приложений Azure App Service, чтобы развернуть Java веб-приложение на сервере Linux Tomcat в Службе приложений Azure. Служба приложений предоставляет высокомасштабируемую веб-службу размещения веб-приложений. Используйте вкладки для переключения между инструкциями по Tomcat, JBoss или внедренным серверам (Java SE).

Снимок экрана: веб-приложение Maven Hello World, работающее в Службе приложений Azure.

Если вы не хотите использовать Maven в качестве средства разработки, ознакомьтесь с аналогичными руководствами для разработчиков Java:

Если у вас нет подписки Azure, создайте бесплатную учетную запись Azure перед началом работы.

1. Использование Azure Cloud Shell

В Azure есть Azure Cloud Shell, интерактивная оболочка среды, с которой можно работать в браузере. Для работы со службами Azure можно использовать Bash или PowerShell с Cloud Shell. Для запуска кода из этой статьи можно использовать предварительно установленные команды Cloud Shell. Ничего дополнительного в локальной среде устанавливать не нужно.

Начало работы с Azure Cloud Shell

Вариант Пример и ссылка
Выберите "Попробовать" в правом верхнем углу кода или блока команд. При нажатии кнопки "Попробовать" код или команда не копируются в Cloud Shell. Снимок экрана с примером функции
https://shell.azure.comПерейдите к разделу или нажмите кнопку "Запустить Cloud Shell", чтобы открыть Cloud Shell в браузере. Кнопка запуска Azure Cloud Shell.
Нажмите кнопку Cloud Shell в строке меню в правом верхнем углу на портале Azure. Снимок экрана: кнопка Cloud Shell на портале Azure

Чтобы использовать Azure Cloud Shell, выполните следующие действия:

  1. Запустите Cloud Shell.

  2. Нажмите кнопку "Копировать " в блоке кода (или блоке команд), чтобы скопировать код или команду.

  3. Вставьте код или команду в сеанс Cloud Shell, нажав клавиши CTRL+SHIFTV в Windows и Linux или выбрав CMD+SHIFT++V в macOS.

  4. Нажмите клавишу ВВОД , чтобы запустить код или команду.

2. Создание приложения Java

В приглашении Cloud Shell выполните следующую команду Maven, чтобы создать новое веб-приложение с именем helloworld.

mvn archetype:generate "-DgroupId=example.demo" "-DartifactId=helloworld" "-DarchetypeArtifactId=maven-archetype-webapp" "-DarchetypeVersion=1.4" "-Dversion=1.0-SNAPSHOT"

Затем измените рабочую папку на папку проекта:

cd helloworld

3. Настройка подключаемого модуля Maven

Процесс развертывания для службы приложение Azure использует учетные данные Azure из Azure CLI автоматически. Если Azure CLI не установлен локально, подключаемый модуль Maven проходит проверку подлинности с помощью OAuth или входа устройства. Дополнительные сведения см. в разделе аутентификации с плагинами Maven.

Выполните команду Maven, показанную рядом с настройкой развертывания. Эта команда помогает настроить Служба приложений операционную систему, версию Java и версию Tomcat.

mvn com.microsoft.azure:azure-webapp-maven-plugin:2.14.1:config
  1. Чтобы создать новую конфигурацию запуска, введите Y, затем нажмите Enter.

  2. Для определения значения ос введите 1 для Windows или 2 для Linux, а затем введите.

  3. Для определения значения javaVersion введите 1 для Java 21, а затем введите.

  4. Для определения значения для webContainer введите 1 для Tomcat 10.1, а затем введите.

  5. Для задайте значение для уровня ценообразования, введите 3 для P1V2, затем нажмите Enter.

  6. Для подтверждения введите Y, затем нажмите Enter.

    Please confirm webapp properties
    AppName : helloworld-1745408005556
    ResourceGroup : helloworld-1745408005556-rg
    Region : centralus
    PricingTier : P1V2
    OS : Linux
    Java Version: Java 21
    Web server stack: Tomcat 10.1
    Deploy to slot : false
    Confirm (Y/N) [Y]: 
    [INFO] Saving configuration to pom.
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  01:36 min
    [INFO] Finished at: 2025-04-23T11:34:44Z
    [INFO] ------------------------------------------------------------------------
    

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

Соответствующая часть pom.xml файла должна выглядеть примерно так, как показано в следующем примере.

<build>
    <plugins>
        <plugin>
            <groupId>com.microsoft.azure</groupId>
            <artifactId>>azure-webapp-maven-plugin</artifactId>
            <version>x.xx.x</version>
            <configuration>
                <schemaVersion>v2</schemaVersion>
                <resourceGroup>your-resourcegroup-name</resourceGroup>
                <appName>your-app-name</appName>
            ...
            </configuration>
        </plugin>
    </plugins>
</build>           

Вы можете изменить другие параметры Службы приложений непосредственно в pom.xml.

Будьте внимательны к значениям <appName> и <resourceGroup> (helloworld-1745408005556 и helloworld-1745408005556-rg соответственно в демонстрации). Они используются позже.

4. Развертывание приложения

Со всеми настройками, готовыми в файлеpom.xml, вы можете развернуть ваше Java-приложение в Azure с помощью одной команды.

mvn package azure-webapp:deploy

Выбрав список доступных подписок, Maven развертывается в Службе приложений Azure. После завершения развертывания приложение будет готово к использованию http://<appName>.azurewebsites.net/ (http://helloworld-1745408005556.azurewebsites.net в демонстрационной версии). Откройте URL-адрес с помощью локального веб-браузера, вы увидите

Снимок экрана: веб-приложение Maven Hello World, работающее в Службе приложений Azure.

Поздравляем! Вы развернули свое первое приложение Java в службе приложений.

5. Очистка ресурсов

На предыдущем шаге вы создали ресурсы Azure в группе ресурсов. Если эти ресурсы вам не понадобятся в будущем, вы можете удалить группу ресурсов из портала, или выполнив приведенную ниже команду в Cloud Shell.

az group delete --name <your resource group name; for example: helloworld-1745408005556-rg> --yes

Ее выполнение может занять до минуты.

В этом кратком руководстве вы используете плагин Maven для веб-приложений Службы приложений Azure для развертывания Java веб-приложения с внедренным сервером на Службу приложений Azure. Служба приложений предоставляет высокомасштабируемую веб-службу размещения веб-приложений. Используйте вкладки для переключения между инструкциями по Tomcat, JBoss или внедренным серверам (Java SE).

Краткое руководство развертывает приложение Spring Boot, приложение Quarkus или встроенное приложение Tomcat с помощью плагина azure-webapp-maven-plugin.

Если вы не хотите использовать Maven в качестве средства разработки, ознакомьтесь с аналогичными руководствами для разработчиков Java:

Если у вас нет подписки Azure, создайте бесплатную учетную запись Azure перед началом работы.

1. Использование Azure Cloud Shell

В Azure есть Azure Cloud Shell, интерактивная оболочка среды, с которой можно работать в браузере. Для работы со службами Azure можно использовать Bash или PowerShell с Cloud Shell. Для запуска кода из этой статьи можно использовать предварительно установленные команды Cloud Shell. Ничего дополнительного в локальной среде устанавливать не нужно.

Начало работы с Azure Cloud Shell

Вариант Пример и ссылка
Выберите "Попробовать" в правом верхнем углу кода или блока команд. При нажатии кнопки "Попробовать" код или команда не копируются в Cloud Shell. Снимок экрана, показывающий пример функции Try It для Azure Cloud Shell.
https://shell.azure.comПерейдите к разделу или нажмите кнопку "Запустить Cloud Shell", чтобы открыть Cloud Shell в браузере. Кнопка запуска Azure Cloud Shell.
Нажмите кнопку Cloud Shell в строке меню в правом верхнем углу на портале Azure. Снимок экрана: кнопка Cloud Shell на портале Azure

Чтобы использовать Azure Cloud Shell, выполните следующие действия:

  1. Запустите Cloud Shell.

  2. Нажмите кнопку "Копировать " в блоке кода (или блоке команд), чтобы скопировать код или команду.

  3. Вставьте код или команду в сеанс Cloud Shell, нажав клавиши CTRL+SHIFTV в Windows и Linux или выбрав CMD+SHIFT++V в macOS.

  4. Нажмите клавишу ВВОД , чтобы запустить код или команду.

2. Получение примера приложения

  1. Скачайте и извлеките шаблон веб-приложения Spring Boot по умолчанию. Этот репозиторий клонируется при выполнении команды spring boot new my-webappSpring CLI.

    git clone https://github.com/rd-1-2022/rest-service my-webapp
    
  2. Измените рабочий каталог на папку проекта:

    cd my-webapp
    

3. Настройка подключаемого модуля Maven

Процесс развертывания для службы приложение Azure использует учетные данные Azure из Azure CLI автоматически. Если Azure CLI не установлен локально, подключаемый модуль Maven проходит проверку подлинности с помощью OAuth или входа устройства. Дополнительные сведения см. в разделе аутентификация с помощью плагинов Maven.

Выполните команду Maven, показанную рядом с настройкой развертывания. Эта команда помогает настроить Служба приложений операционную систему, версию Java и версию Tomcat.

mvn com.microsoft.azure:azure-webapp-maven-plugin:2.14.1:config
  1. Для создания новой конфигурации запуска введите Y, затем нажмите Enter.

  2. Для определения значения для ОС введите 2 для Linux, затем нажмите Enter.

  3. Для определения значения javaVersion введите 1 для Java 21, а затем введите.

  4. Чтобы задать значение для ценообразования уровня, введите 3 для P1v2, затем нажмите Enter.

  5. Для подтверждения введите Y, затем нажмите Enter.

    Please confirm webapp properties
    AppName : <generated-app-name>
    ResourceGroup : <generated-app-name>-rg
    Region : centralus
    PricingTier : P1v2
    OS : Linux
    Java Version: Java 21
    Web server stack: Java SE
    Deploy to slot : false
    Confirm (Y/N) [Y]: 
    [INFO] Saving configuration to pom.
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  47.533 s
    [INFO] Finished at: 2025-04-23T12:20:08Z
    [INFO] ------------------------------------------------------------------------
    

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

Соответствующая часть pom.xml файла должна выглядеть примерно так, как показано в следующем примере.

<build>
    <plugins>
        <plugin>
            <groupId>com.microsoft.azure</groupId>
            <artifactId>>azure-webapp-maven-plugin</artifactId>
            <version>x.xx.x</version>
            <configuration>
                <schemaVersion>v2</schemaVersion>
                <resourceGroup>your-resourcegroup-name</resourceGroup>
                <appName>your-app-name</appName>
            ...
            </configuration>
        </plugin>
    </plugins>
</build>           

Вы можете изменить другие параметры Службы приложений непосредственно в pom.xml.

Будьте осторожны со значениями <appName> и <resourceGroup>. Они используются позже.

4. Развертывание приложения

С учетом всех конфигураций в файлеpom.xml вы можете развернуть ваше приложение Java на Azure одной командой.

  1. Создайте JAR-файл с помощью следующих команд:

    mvn clean package
    

    Совет

    Spring Boot создает два JAR-файла с mvn package, но azure-webapp-maven-plugin выбирает правильный JAR-файл для автоматического развертывания.

  2. Развертывание в Azure с помощью следующей команды:

    mvn azure-webapp:deploy
    

    Выбрав список доступных подписок, Maven развертывается в Службе приложений Azure. После завершения развертывания вы увидите следующие выходные данные:

    [INFO] Successfully deployed the artifact to https://<app-name>.azurewebsites.net
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  02:20 min
    [INFO] Finished at: 2023-07-26T12:47:50Z
    [INFO] ------------------------------------------------------------------------
    

    Ваше приложение готово в точке http://<appName>.azurewebsites.net/.

Откройте URL-адрес http://<appName>.azurewebsites.net/greeting с помощью локального веб-браузера (запишите /greeting путь), и вы увидите следующее:

Снимок экрана: веб-приложение Spring Boot Hello World, работающее в Службе приложений Azure.

Поздравляем! Вы развернули первое приложение Java для Служба приложений.

5. Очистка ресурсов

На предыдущем шаге вы создали ресурсы Azure в группе ресурсов. Если эти ресурсы вам не понадобятся в будущем, вы можете удалить группу ресурсов из портала, или выполнив приведенную ниже команду в Cloud Shell.

az group delete --name <your resource group name; for example: quarkus-hello-azure-1690375364238-rg> --yes

На выполнение этой команды может потребоваться около минуты времени.

В этом кратком руководстве вы будете использовать плагин Maven для веб-приложений в Службе приложений Azure, чтобы развернуть Java веб-приложение на сервере Linux JBoss EAP в Службе приложений Azure. Служба приложений предоставляет высокомасштабируемую веб-службу размещения веб-приложений. Используйте вкладки для переключения между инструкциями по Tomcat, JBoss или внедренным серверам (Java SE).

Снимок экрана: веб-приложение Maven Hello World, работающее в Службе приложений Azure.

Если вы не хотите использовать Maven в качестве средства разработки, ознакомьтесь с аналогичными руководствами для разработчиков Java:

Если у вас нет подписки Azure, создайте бесплатную учетную запись Azure перед началом работы.

1. Использование Azure Cloud Shell

В Azure есть Azure Cloud Shell, интерактивная оболочка среды, с которой можно работать в браузере. Для работы со службами Azure можно использовать Bash или PowerShell с Cloud Shell. Для запуска кода из этой статьи можно использовать предварительно установленные команды Cloud Shell. Ничего дополнительного в локальной среде устанавливать не нужно.

Начало работы с Azure Cloud Shell

Вариант Пример и ссылка
Выберите "Попробовать" в правом верхнем углу кода или блока команд. При нажатии кнопки "Попробовать" код или команда не копируются в Cloud Shell. Снимок экрана с примером функции 'Попробуйте' для Azure Cloud Shell.
https://shell.azure.comПерейдите к разделу или нажмите кнопку "Запустить Cloud Shell", чтобы открыть Cloud Shell в браузере. Кнопка запуска Azure Cloud Shell.
Нажмите кнопку Cloud Shell в строке меню в правом верхнем углу на портале Azure. Снимок экрана: кнопка Cloud Shell на портале Azure

Чтобы использовать Azure Cloud Shell, выполните следующие действия:

  1. Запустите Cloud Shell.

  2. Нажмите кнопку "Копировать " в блоке кода (или блоке команд), чтобы скопировать код или команду.

  3. Вставьте код или команду в сеанс Cloud Shell, нажав клавиши CTRL+SHIFTV в Windows и Linux или выбрав CMD+SHIFT++V в macOS.

  4. Нажмите клавишу ВВОД , чтобы запустить код или команду.

2. Создание приложения Java

Клонируйте демонстрационное приложение для магазина Pet.

git clone https://github.com/Azure-Samples/app-service-java-quickstart

Измените каталог на завершенный проект хранилища домашних животных и создайте его.

Совет

Для petstore-ee7 примера требуется Java 11 или более поздней версии. Для booty-duke-app-service примера проекта требуется Java 17. Если установленная версия Java меньше 17, запустите сборку из petstore-ee7 каталога, а не на верхнем уровне.

cd app-service-java-quickstart
git checkout 20230308
cd petstore-ee7
mvn clean install

Если появится сообщение об отключенном состоянии HEAD, это сообщение можно проигнорировать. Так как вы не сделаете фиксацию Git в этом кратком руководстве, отключенное состояние HEAD подходит.

3. Настройка подключаемого модуля Maven

Процесс развертывания для службы приложение Azure использует учетные данные Azure из Azure CLI автоматически. Если Azure CLI не установлен локально, подключаемый модуль Maven проходит проверку подлинности с помощью OAuth или входа устройства. Дополнительные сведения см. в аутентификации с использованием плагинов Maven.

Выполните команду Maven, показанную рядом с настройкой развертывания. Эта команда помогает настроить Служба приложений операционную систему, версию Java и версию Tomcat.

mvn com.microsoft.azure:azure-webapp-maven-plugin:2.14.1:config
  1. Для создания новой конфигурации запуска введите Y, затем нажмите Enter.

  2. Для определения значения для ОС введите 2 для операционной системы Linux, затем нажмите Enter.

  3. Для определения значения javaVersion введите 2 для Java 17, а затем введите. Если выбрать Java 21, вы не увидите Jbosseap как вариант позже.

  4. Для Определите значение для webContainer введите 4 для Jbosseap 7, а затем нажмите Enter.

  5. Для указания значения для уровня цен, введите 1 для P1v3, а затем нажмите Enter.

  6. Для подтверждения введите Y, затем нажмите Enter.

    Please confirm webapp properties
    AppName : petstoreee7-1745409173307
    ResourceGroup : petstoreee7-1745409173307-rg
    Region : centralus
    PricingTier : P1v3
    OS : Linux
    Java Version: Java 17
    Web server stack: Jbosseap 4
    Deploy to slot : false
    Confirm (Y/N) [Y]: 
    [INFO] Saving configuration to pom.
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  01:36 min
    [INFO] Finished at: 2025-04-23T11:54:22Z
    [INFO] ------------------------------------------------------------------------
    

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

Соответствующая часть pom.xml файла должна выглядеть примерно так, как показано в следующем примере.

<build>
    <plugins>
        <plugin>
            <groupId>com.microsoft.azure</groupId>
            <artifactId>>azure-webapp-maven-plugin</artifactId>
            <version>x.xx.x</version>
            <configuration>
                <schemaVersion>v2</schemaVersion>
                <resourceGroup>your-resourcegroup-name</resourceGroup>
                <appName>your-app-name</appName>
            ...
            </configuration>
        </plugin>
    </plugins>
</build>           

Вы можете изменить другие параметры Службы приложений непосредственно в pom.xml.

Будьте внимательны к значениям <appName> и <resourceGroup> (petstoreee7-1745409173307 и petstoreee7-1745409173307-rg соответственно в демонстрации). Они используются позже.

4. Развертывание приложения

С готовой конфигурацией в вашем файлеpom.xml, вы можете развернуть ваше Java-приложение в Azure с помощью одной команды.

# Disable testing, as it requires Wildfly to be installed locally.
mvn package azure-webapp:deploy -DskipTests

Выбрав список доступных подписок, Maven развертывается в Службе приложений Azure. После завершения развертывания ваше приложение будет готово http://<appName>.azurewebsites.net/ (в демонстрационной версии http://petstoreee7-1745409173307.azurewebsites.net). Откройте URL-адрес с помощью локального веб-браузера, вы увидите

Снимок экрана: веб-приложение Maven Hello World, работающее в Службе приложений Azure.

Поздравляем! Вы развернули свое первое приложение Java в службе приложений.

5. Очистка ресурсов

На предыдущем шаге вы создали ресурсы Azure в группе ресурсов. Если эти ресурсы вам не понадобятся в будущем, вы можете удалить группу ресурсов из портала, или выполнив приведенную ниже команду в Cloud Shell.

az group delete --name <your resource group name; for example: petstoreee7-1745409173307-rg> --yes

Ее выполнение может занять до минуты.

Следующие шаги