Azure 应用服务 提供高可扩展性、自动修补的网页应用托管服务。 在本快速入门中,你将使用 适用于 Azure 应用服务 Web 应用的 Maven 插件 将 Java Web 应用程序部署到 Azure 应用服务中的 Linux Tomcat 服务器。
如果 Maven 不是你的首选开发工具,请查看适用于 Java 开发人员的类似文章:
如果没有 Azure 订阅,可在开始前创建一个试用帐户。
在 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
将工作目录更改为项目文件夹。
应用服务部署过程自动使用 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 订阅,可在开始前创建一个试用帐户。
选择相应的选项卡,并按照说明获取示例 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
将工作目录更改为项目文件夹。
应用服务部署过程自动使用 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
。 此命令可能需要一段时间才能运行。