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


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

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

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

Предпосылки

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

  • Выполните команды, приведенные в этом кратком руководстве, с помощью Azure Cloud Shell, интерактивной оболочки, которую можно использовать в браузере для работы со службами Azure. Чтобы использовать Cloud Shell, выполните приведенные действия.

    1. Нажмите следующую кнопку "Запустить Cloud Shell" или перейдите к https://shell.azure.com открытию Cloud Shell в браузере.

    2. При необходимости войдите в Azure и убедитесь, что вы находитесь в среде Bash Cloud Shell.

    3. Выберите "Копировать " в блоке кода, вставьте код в Cloud Shell и запустите его.

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

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

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

Затем измените рабочий каталог на папку проекта, выполнив команду cd helloworld.

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

Процесс развертывания службы приложений автоматически использует учетные данные Azure из Cloud Shell. Плагин Maven проходит проверку подлинности с помощью OAuth или авторизации устройства. Дополнительные сведения см. в разделе Authenticate to the Speech API (Аутентификация в API речи).

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

mvn com.microsoft.azure:azure-webapp-maven-plugin:2.14.1:config
  1. Для создания новой конфигурации запуска введите Y и нажмите клавишу ВВОД.
  2. Для определения значения ОС введите 2 для Linux и нажмите клавишу ВВОД.
  3. Для определения значения javaVersion введите 1 для Java 21 и нажмите клавишу ВВОД.
  4. Для определения значения для webContainer введите 1 для Tomcat 10.1 и нажмите клавишу ВВОД.
  5. Для определения значения для ценовой категории введите 3 для P1V2 и нажмите Enter.
  6. Для подтверждения введите Y и нажмите клавишу ВВОД.

Выходные данные должны выглядеть примерно так:

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 проекта, который настраивает веб-приложение для работы в App Service.

Соответствующая часть файла 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>helloworld-1745408005556-rg</resourceGroup>
                <appName>helloworld-1745408005556</appName>
            ...
            </configuration>
        </plugin>
    </plugins>
</build>

Значения для <appName> и <resourceGroup>, helloworld-1745408005556 и helloworld-1745408005556-rg для демонстрационного приложения используются позже.

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

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

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

mvn package azure-webapp:deploy

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

Для этой демонстрации URL-адрес: http://helloworld-1745408005556.azurewebsites.net. При открытии URL-адреса в локальном веб-браузере вы увидите следующее приложение:

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

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

Очистите ресурсы

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

az group delete --name helloworld-1745408005556-rg --yes

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

Служба приложений Azure предоставляет высокомасштабируемый и автоматически обновляемый сервис размещения веб-приложений. В этом кратком руководстве вы используете плагин Maven для веб-приложений Службы приложений Azure, чтобы развернуть веб-приложение Java с встроенным сервером Spring Boot, Quarkus или Tomcat в Службе приложений. Дополнительные сведения см. в статье azure-webapp-maven-plugin.

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

Предпосылки

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

  • Выполните команды, приведенные в этом кратком руководстве, с помощью Azure Cloud Shell, интерактивной оболочки, которую можно использовать в браузере для работы со службами Azure. Чтобы использовать Cloud Shell, выполните приведенные действия.

    1. Нажмите следующую кнопку "Запустить Cloud Shell" или перейдите к https://shell.azure.com открытию Cloud Shell в браузере.

    2. При необходимости войдите в Azure и убедитесь, что вы находитесь в среде Bash Cloud Shell.

    3. Выберите "Копировать " в блоке кода, вставьте код в Cloud Shell и запустите его.

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

Выберите соответствующую вкладку и следуйте инструкциям, чтобы получить пример веб-приложения Spring Boot, Quarkus или Embedded Tomcat.

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

git clone https://github.com/rd-1-2022/rest-service my-webapp

Затем измените рабочий каталог на папку проекта, выполнив команду cd my-webapp.

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

Процесс развертывания службы приложений автоматически использует учетные данные Azure из Cloud Shell. Плагин Maven аутентифицируется с помощью OAuth или входа через устройство. Дополнительные сведения см. в разделе Authenticate to the Speech API (Аутентификация в API речи).

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

mvn com.microsoft.azure:azure-webapp-maven-plugin:2.14.1:config
  1. Для создания новой конфигурации запуска введите Y и нажмите клавишу ВВОД.
  2. Для Определения значения для OS введите 2 для Linux и нажмите клавишу ВВОД.
  3. Для определения значения javaVersion введите 1 для Java 21 и нажмите клавишу ВВОД.
  4. Для задачи уровня ценообразования введите 3 для P1v2 и нажмите клавишу ENTER.
  5. Для подтверждения введите Y и нажмите клавишу ВВОД.

Выходные данные должны выглядеть примерно так:

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 вашего проекта, который настраивает веб-приложение для работы в App Service.

Соответствующая часть файла 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>generated-app-name-rg</resourceGroup>
                <appName>generated-app-name</appName>
            ...
            </configuration>
        </plugin>
    </plugins>
</build>

Значения для <appName> и <resourceGroup> используются позже.

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

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

Поскольку все конфигурации готовы в вашем файле 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 <URL>
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  02:20 min
    [INFO] Finished at: 2023-07-26T12:47:50Z
    [INFO] ------------------------------------------------------------------------
    
  3. Откройте домен приложения по умолчанию на странице обзора на портале Azure и добавьте /greeting его в URL-адрес. Должно появиться следующее приложение:

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

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

Очистите ресурсы

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

az group delete --name <resource group name>  --yes

Например, выполните команду az group delete --name quarkus-hello-azure-1690375364238-rg --yes. Выполнение этой команды может занять некоторое время.

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

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

Предпосылки

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

  • Выполните команды, приведенные в этом кратком руководстве, с помощью Azure Cloud Shell, интерактивной оболочки, которую можно использовать в браузере для работы со службами Azure. Чтобы использовать Cloud Shell, выполните приведенные действия.

    1. Нажмите следующую кнопку "Запустить Cloud Shell" или перейдите к https://shell.azure.com открытию Cloud Shell в браузере.

    2. При необходимости войдите в Azure и убедитесь, что вы находитесь в среде Bash Cloud Shell.

    3. Выберите "Копировать " в блоке кода, вставьте код в Cloud Shell и запустите его.

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

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

    git clone https://github.com/Azure-Samples/app-service-java-quickstart
    
  2. Измените каталог на завершенный petstore-ee7 проект и создайте его.

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

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

    Совет

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

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

Процесс развертывания службы приложений автоматически использует учетные данные Azure из Cloud Shell. Подключаемый модуль Maven осуществляет аутентификацию с помощью OAuth или входа через устройство. Дополнительные сведения см. в разделе Authenticate to the Speech API (Аутентификация в API речи).

Выполните следующую команду Maven, чтобы настроить развертывание, задав операционную систему службы приложений, версию Java и версию Jbosseap.

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 и нажмите клавишу ВВОД.
  5. Для определения значения для уровня цен введите 1 чтобы выбрать P1v3 и нажмите клавишу ВВОД.
  6. Для подтверждения введите Y и нажмите клавишу ВВОД.

Выходные данные должны выглядеть примерно так:

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, который настраивает веб-приложение для запуска в App Service.

Соответствующая часть файла 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>petstoreee7-1745409173307-rg</resourceGroup>
                <appName>petstoreee7-1745409173307</appName>
            ...
            </configuration>
        </plugin>
    </plugins>
</build>

Значения для <appName> и <resourceGroup>, petstoreee7-1745409173307 и petstoreee7-1745409173307-rg в демонстрационном приложении используются позже.

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

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

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

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

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

Для этого демонстрационного приложения используется http://petstoreee7-1745409173307.azurewebsites.netURL-адрес. При открытии URL-адреса в локальном веб-браузере вы увидите следующее приложение:

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

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

Очистите ресурсы

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

az group delete --name petstoreee7-1745409173307-rg  --yes

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