在本快速入门中,你将使用适用于 Azure 应用服务 Web 应用的 Maven 插件将 Java Web 应用程序部署到 Azure 应用服务中的 Linux Tomcat 服务器。 应用服务提供高度可缩放、自修复的 Web 应用托管服务。 使用选项卡在 Tomcat、JBoss 或嵌入式服务器 (Java SE) 指令之间切换。
如果 Maven 不是首选开发工具,请查看面向 Java 开发人员的类似教程:
如果没有 Azure 订阅,可在开始前创建一个试用帐户。
在 cli 提示符下,执行以下 Maven 命令来创建一个名为 helloworld
的新应用:
mvn archetype:generate "-DgroupId=example.demo" "-DartifactId=helloworld" "-DarchetypeArtifactId=maven-archetype-webapp" "-DarchetypeVersion=1.4" "-Dversion=1.0-SNAPSHOT"
然后,将工作目录更改为项目文件夹:
cd helloworld
部署到 Azure 应用服务的过程会自动使用 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 的值”,请键入 1(对于 Windows)或 2(对于 Linux),然后按 Enter。
对于 javaVersion 的定义值,键入 1 表示 Java 21,然后按 Enter。
对于“定义 WebContainer 的值”,请键入 1(对于 Tomcat 101),然后按 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 应用配置为在 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
中修改应用服务的配置。
- 有关配置的完整列表,请参阅 常见配置。
- 有关特定于应用服务的配置,请参阅 Azure Web 应用:配置详细信息。
请注意 <appName>
和 <resourceGroup>
的值(在演示中相应地为 helloworld-1745408005556
和 helloworld-1745408005556-rg
)。 稍后会使用它们。
在 pom.xml 文件中准备好所有配置后,只需要一个命令即可将 Java 应用部署到 Azure。
mvn package azure-webapp:deploy
从可用订阅列表中选择后,Maven 将部署到 Azure 应用服务。 部署完成后,应用程序已于 http://<appName>.chinacloudsites.cn/
准备就绪(http://helloworld-1745408005556.chinacloudsites.cn
在演示中)。 使用本地 Web 浏览器打开 URL,应会看到
恭喜! 现已将第一个 Java 应用部署到应用服务。
在前面的步骤中,你在资源组中创建了 Azure 资源。 如果将来不需要这些资源,请从门户删除资源组,或在 Cli 中运行以下命令来这样做:
az group delete --name <your resource group name; for example: helloworld-1745408005556-rg> --yes
此命令可能需要花费一点时间运行。
在本快速入门中,你将使用适用于 Azure 应用服务 Web 应用的 Maven 插件将具有嵌入式服务器的 Java Web 应用程序部署到 Azure 应用服务。 应用服务提供高度可缩放、自修复的 Web 应用托管服务。 使用选项卡可在 Tomcat 或嵌入式服务器 (Java SE) 指令之间切换。
本快速入门使用 azure-webapp-maven-plugin 插件部署 Spring Boot 应用、嵌入式 Tomcat 或 Quarkus 应用。
如果 Maven 不是首选开发工具,请查看面向 Java 开发人员的类似教程:
如果没有 Azure 订阅,可在开始前创建一个试用帐户。
下载并提取默认 Spring Boot Web 应用程序模板。 运行 Spring CLI 命令
spring boot new my-webapp
时,会克隆此存储库。git clone https://github.com/rd-1-2022/rest-service my-webapp
将工作目录更改为项目文件夹:
cd my-webapp
部署到 Azure 应用服务的过程会自动使用 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。
对于“定义 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 应用配置为在 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
中修改应用服务的配置。
- 有关配置的完整列表,请参阅 常见配置。
- 有关特定于应用服务的配置,请参阅 Azure Web 应用:配置详细信息。
注意 <appName>
和 <resourceGroup>
的值。 稍后会使用它们。
在 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 https://<app-name>.chinacloudsites.cn [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 02:20 min [INFO] Finished at: 2023-07-26T12:47:50Z [INFO] ------------------------------------------------------------------------
应用程序已准备就绪,
http://<appName>.chinacloudsites.cn/
。
使用本地 Web 浏览器打开 URL http://<appName>.chinacloudsites.cn/greeting
(记下 /greeting
路径),你应该会看到:
恭喜! 现已将第一个 Java 应用部署到应用服务。
在前面的步骤中,你在资源组中创建了 Azure 资源。 如果将来不需要这些资源,请从门户删除资源组,或在本地 Shell 中运行以下命令来这样做:
az group delete --name <your resource group name; for example: quarkus-hello-azure-1690375364238-rg> --yes
运行此命令可能需要一分钟时间。