你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure 应用服务提供高度可缩放、自修复的 Web 应用托管服务。 在本快速入门中,你将使用 适用于 Azure 应用服务 Web 应用的 Maven 插件 将 Java Web 应用程序部署到 Azure 应用服务中的 Linux Tomcat 服务器。
如果 Maven 不是你的首选开发工具,请查看适用于 Java 开发人员的类似文章:
先决条件
-
如果没有 Azure 帐户,请在开始前创建一个免费帐户。
使用 Azure Cloud Shell 运行本快速入门中的命令,该 Shell 是一种交互式 shell,可通过浏览器使用 Azure 服务。 若要使用 Cloud Shell,请执行以下作:
选择以下 “启动 Cloud Shell ”按钮,或转到 https://shell.azure.com 浏览器中打开 Cloud Shell。
如有必要,请登录到 Azure,并确保你位于 Cloud Shell 的 Bash 环境中。
在代码块中选择 “复制” ,将代码粘贴到 Cloud Shell 中,然后运行它。
创建 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 插件
应用服务部署过程自动使用 Cloud Shell 中的 Azure 凭据。 Maven 插件使用 OAuth 或设备登录进行身份验证。 有关详细信息,请参阅身份验证。
运行以下 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 : 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 文件中,该文件将 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.azurewebsites.net
. 使用本地 Web 浏览器打开 URL 时,应会看到以下应用:
祝贺你! 已将 Java 应用部署到应用服务。
清理资源
你在 Azure 资源组中为本教程创建了资源。 如果不再需要资源组,可以通过在 Cloud Shell 中运行以下 Azure CLI 命令来删除资源组及其所有资源。
az group delete --name helloworld-1745408005556-rg --yes
该命令可能需要一段时间才能运行。
Azure 应用服务提供高度可缩放、自修复的 Web 应用托管服务。 在本快速入门中,你将使用 适用于 Azure 应用服务 Web 应用的 Maven 插件 将带有嵌入式 Spring Boot、Quarkus 或 Tomcat 服务器的 Java Web 应用程序部署到应用服务。 有关详细信息,请参阅 azure-webapp-maven-plugin。
如果 Maven 不是你的首选开发工具,请查看适用于 Java 开发人员的类似文章:
先决条件
-
如果没有 Azure 帐户,请在开始前创建一个免费帐户。
使用 Azure Cloud Shell 运行本快速入门中的命令,该 Shell 是一种交互式 shell,可通过浏览器使用 Azure 服务。 若要使用 Cloud Shell,请执行以下作:
选择以下 “启动 Cloud Shell ”按钮,或转到 https://shell.azure.com 浏览器中打开 Cloud Shell。
如有必要,请登录到 Azure,并确保你位于 Cloud Shell 的 Bash 环境中。
在代码块中选择 “复制” ,将代码粘贴到 Cloud Shell 中,然后运行它。
获取示例应用
选择相应的选项卡,并按照说明获取示例 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。
- 对于 定义 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 : 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 文件中,该文件将 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
。 此命令可能需要一段时间才能运行。
Azure 应用服务提供高度可缩放、自修复的 Web 应用托管服务。 在本快速入门中,你将使用 适用于 Azure 应用服务 Web 应用的 Maven 插件 将 Java Web 应用程序部署到 Azure 应用服务中的 Linux JBoss EAP 服务器。
如果 Maven 不是你的首选开发工具,请查看适用于 Java 开发人员的类似文章:
先决条件
-
如果没有 Azure 帐户,请在开始前创建一个免费帐户。
使用 Azure Cloud Shell 运行本快速入门中的命令,该 Shell 是一种交互式 shell,可通过浏览器使用 Azure 服务。 若要使用 Cloud Shell,请执行以下作:
选择以下 “启动 Cloud Shell ”按钮,或转到 https://shell.azure.com 浏览器中打开 Cloud Shell。
如有必要,请登录到 Azure,并确保你位于 Cloud Shell 的 Bash 环境中。
在代码块中选择 “复制” ,将代码粘贴到 Cloud Shell 中,然后运行它。
创建 Java 应用
克隆 Pet Store 演示应用程序。
git clone https://github.com/Azure-Samples/app-service-java-quickstart
将目录更改为已完成
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 插件
应用服务部署过程自动使用 Cloud Shell 中的 Azure 凭据。 Maven 插件使用 OAuth 或设备登录进行身份验证。 有关详细信息,请参阅身份验证。
运行以下 Maven 命令,通过设置应用服务作系统、Java 版本和 Jbosseap 版本来配置部署。
mvn com.microsoft.azure:azure-webapp-maven-plugin:2.14.1:config
- 对于 “创建新的运行配置”,请键入 Y ,然后按 Enter。
- 对于 操作系统的定义值,请键入 2 用于 Linux,然后按 Enter。
- 对于 javaVersion 的定义值,输入 2 以选择 Java 17,然后按 Enter。 如果选择 Java 21,则以后看不到 Jbosseap 作为选项。
- 对于“定义 webContainer 的值”,请键入 4(对于 Jbosseap 7),然后按 Enter。
- 对于 “定义 pricingTier”值,键入 1 表示 P1v3,然后按 Enter。
- 对于 “确认”,键入 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 文件中,该文件将 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>petstoreee7-1745409173307-rg</resourceGroup>
<appName>petstoreee7-1745409173307</appName>
...
</configuration>
</plugin>
</plugins>
</build>
稍后将使用演示应用中的<appName>
和<resourceGroup>
,petstoreee7-1745409173307
和petstoreee7-1745409173307-rg
的值。
可以直接在 pom.xml 文件中修改应用服务的配置。
- 有关配置的完整列表,请参阅 常见配置。
- 有关特定于应用服务的配置,请参阅 Azure Web 应用:配置详细信息。
部署应用
在 pom.xml 文件中准备好所有配置后,可以使用以下命令将 Java 应用部署到 Azure。
# Disable testing, as it requires Wildfly to be installed locally.
mvn package azure-webapp:deploy -DskipTests
从可用订阅列表中选择后,Maven 将部署到 Azure 应用服务。 部署完成后,应用程序已准备就绪。
对于此演示应用,URL 为 http://petstoreee7-1745409173307.azurewebsites.net
. 使用本地 Web 浏览器打开 URL 时,应会看到以下应用:
祝贺你! 已将 Java 应用部署到应用服务。
清理资源
你在 Azure 资源组中为本教程创建了资源。 如果不再需要资源组,可以通过在 Cloud Shell 中运行以下 Azure CLI 命令来删除资源组及其所有资源。
az group delete --name petstoreee7-1745409173307-rg --yes
该命令可能需要一段时间才能运行。