Azure 应用服务 提供高可扩展性、自动修补的网页应用托管服务。 在本快速入门中,你将使用 适用于 Azure 应用服务 Web 应用的 Maven 插件 将 Java Web 应用程序部署到 Azure 应用服务中的 Linux Tomcat 服务器。
如果 Maven 不是你的首选开发工具,请查看适用于 Java 开发人员的类似文章:
先决条件
如果没有 Azure 订阅,可在开始前创建一个试用帐户。
1 - 使用 Azure cli
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
将工作目录更改为项目文件夹。
配置 Maven 插件
应用服务部署过程自动使用 Azure CLI 中的 Azure 凭据。 如果未在本地安装 Azure CLI,则 Maven 插件会使用 OAuth 或设备登录来进行身份验证。 有关详细信息,请参阅 Maven 插件的身份验证。
运行以下 Maven 命令,通过设置应用服务作系统、Java 版本和 Tomcat 版本来配置部署。
mvn com.microsoft.azure:azure-webapp-maven-plugin:2.14.1:config
- 对于 “创建新的运行配置”,请键入 Y ,然后按 Enter。
- 对 为 OS 定义值,输入 2 用于 Linux,然后按 Enter。
- 对于 javaVersion 的定义值,键入 1 表示 Java 21,然后按 Enter。
- 为 webContainer 定义值,输入 1 以选择 Tomcat 10.1,然后按 Enter 键。
- 对于 PricingTier 的“定义值”,键入 3 表示 P1V2,然后按 Enter。
- 对于 “确认”,键入 Y ,然后按 Enter。
输出应类似于以下代码:
Please confirm webapp properties
AppName : helloworld-1745408005556
ResourceGroup : helloworld-1745408005556-rg
Region : chinanorth2
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 文件中,该文件将 Web 应用配置为在应用服务中运行。
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 文件中修改应用服务的配置。
- 有关配置的完整列表,请参阅 常见配置。
- 有关特定于应用服务的配置,请参阅 Azure Web 应用:配置详细信息。
部署应用
在 pom.xml 文件中准备好所有配置后,可以使用以下命令将 Java 应用部署到 Azure。
mvn package azure-webapp:deploy
从可用订阅列表中选择后,Maven 将部署到 Azure 应用服务。 部署完成后,应用程序已准备就绪。
对于此演示,URL 为 http://helloworld-1745408005556.chinacloudsites.cn
. 使用本地 Web 浏览器打开 URL 时,应会看到以下应用:
恭喜! 已将 Java 应用部署到应用服务。
清理资源
你在 Azure 资源组中为本教程创建了资源。 如果不再需要资源组,可以通过在 Cloud Shell 中运行以下 Azure CLI 命令来删除资源组及其所有资源。
az group delete --name helloworld-1745408005556-rg --yes
该命令可能需要一段时间才能运行。
Azure 应用服务 提供高可扩展性、自动修补的网页应用托管服务。 在本快速入门中,你将使用 适用于 Azure 应用服务 Web 应用的 Maven 插件 将带有嵌入式 Spring Boot、Quarkus 或 Tomcat 服务器的 Java Web 应用程序部署到应用服务。 有关详细信息,请参阅 azure-webapp-maven-plugin。
如果 Maven 不是你的首选开发工具,请查看适用于 Java 开发人员的类似文章:
先决条件
如果没有 Azure 订阅,可在开始前创建一个试用帐户。
1 - 使用 Azure 本地 Shell
2 - 获取示例应用
选择相应的选项卡,并按照说明获取示例 Spring Boot、Quarkus 或 Embedded Tomcat Web 应用。
下载并提取 默认的 Spring Boot Web 应用程序模板,或通过运行以下命令克隆它。 运行 Spring CLI 命令 spring boot new my-webapp
还会克隆 Web 应用。
git clone https://github.com/rd-1-2022/rest-service my-webapp
然后,通过运行 cd my-webapp
将工作目录更改为项目文件夹。
配置 Maven 插件
应用服务部署过程自动使用 Cloud Shell 中的 Azure 凭据。 Maven 插件使用 OAuth 或设备登录进行身份验证。 有关详细信息,请参阅身份验证。
运行以下 Maven 命令,通过设置应用服务作系统和 Java 版本来配置部署。
mvn com.microsoft.azure:azure-webapp-maven-plugin:2.14.1:config
- 对于 “创建新的运行配置”,请键入 Y ,然后按 Enter。
- 对于 定义操作系统的值,请键入 2以选择 Linux,然后按下Enter键。
- 对于 javaVersion 的定义值,键入 1 表示 Java 21,然后按 Enter。
- 对于 “定义 pricingTier”值,键入 3 表示 P1v2,然后按 Enter。
- 对于 “确认”,键入 Y ,然后按 Enter。
输出应类似于以下代码:
Please confirm webapp properties
AppName : <generated-app-name>
ResourceGroup : <generated-app-name>-rg
Region : chinanorth2
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 文件中,该文件将 Web 应用配置为在应用服务中运行。
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 文件中修改应用服务的配置。
- 有关配置的完整列表,请参阅 常见配置。
- 有关特定于应用服务的配置,请参阅 Azure Web 应用:配置详细信息。
部署应用
在 pom.xml 文件中准备好所有配置后,可以将 Java 应用部署到 Azure。
使用以下命令生成 JAR 文件。
mvn clean package
提示
Spring Boot 会生成两个 JAR 文件
mvn package
,但azure-webapp-maven-plugin
选取正确的 JAR 文件以自动部署。使用以下命令将应用部署到 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] ------------------------------------------------------------------------
从 Azure 门户中的 “概述 ”页打开应用的默认域,并追加
/greeting
到 URL。 应会看到以下应用:
恭喜! 已将 Java 应用部署到应用服务。
清理资源
你在 Azure 资源组中为本教程创建了资源。 如果不再需要资源组,可以通过在 Cloud Shell 中运行以下 Azure CLI 命令来删除资源组及其所有资源。
az group delete --name <resource group name> --yes
例如,运行 az group delete --name quarkus-hello-azure-1690375364238-rg --yes
。 此命令可能需要一段时间才能运行。