このクイックスタートでは、 Azure App Service Web Apps 用の Maven プラグイン を使用して、Java Web アプリケーションを Azure App Service の Linux Tomcat サーバーにデプロイします。 App Service は、高度にスケーラブルで、パッチを自己適用する Web アプリ ホスティング サービスを提供します。 タブを使用して、Tomcat、JBoss、埋め込みサーバー (Java SE) の手順間の切り替えを行います。
Maven が好みの開発ツールでない場合は、Java 開発者向けの同様のチュートリアルを確認してください。
Azure サブスクリプションをお持ちでない場合は、開始する前に Azure 無料アカウントを作成してください。
1 - Azure Cloud Shell を使用する
Azure では、ブラウザーを介して使用できる対話型のシェル環境、Azure Cloud Shell がホストされています。 Cloud Shell で Bash または PowerShell を使用して、Azure サービスを操作できます。 ローカル環境に何もインストールしなくても、Cloud Shell にプレインストールされているコマンドを使用して、この記事のコードを実行できます。
Azure Cloud Shell を開始するには、以下のようにします。
オプション | 例とリンク |
---|---|
コードまたはコマンド ブロックの右上隅にある [ 試 してみる] を選択します。 [ 試 してみる] を選択しても、コードまたはコマンドは Cloud Shell に自動的にコピーされません。 | ![]() |
https://shell.azure.comに移動するか、[Cloud Shell の起動] ボタンを選択してブラウザーで Cloud Shell を開きます。 | ![]() |
Azure portal の右上にあるメニュー バーの Cloud Shell ボタンを選択します。 | ![]() |
Azure Cloud Shell を使用するには、以下のようにします。
Cloud Shell を開始します。
コード ブロック (またはコマンド ブロック) の [コピー ] ボタンを選択して、コードまたはコマンドをコピーします。
Windows および Linux で Ctrl+Shift+V を選択するか、macOS の Cmd+Shift+V を選択して、Cloud Shell セッションにコードまたはコマンドを貼り付けます。
Enter キーを 押 してコードまたはコマンドを実行します。
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
3 - Maven プラグインを構成する
Azure App Service へのデプロイ プロセスでは、Azure CLI から Azure 資格情報が自動的に使用されます。 Azure CLI がローカルにインストールされていない場合、Maven プラグインは OAuth またはデバイス ログインを使用して認証します。 詳細については、 Maven プラグインを使用した認証を参照してください。
次に示す Maven コマンドを実行して、デプロイを構成します。 このコマンドは、App Service オペレーティング システム、Java バージョン、および Tomcat バージョンを設定するのに役立ちます。
mvn com.microsoft.azure:azure-webapp-maven-plugin:2.14.1:config
[ 新しい実行構成の作成] に「 Y」と入力し、Enter キーを 押します。
[ OS の値を定義する] に「 Windows の場合は 1 」、Linux の場合 は「2 」と入力し、Enter キーを 押します。
[JavaVersion の値を定義する] に「Java 21」に「1」と入力し、Enter キーを押します。
[WebContainer の値を定義する] に、Tomcat 10.1 に「1」と入力し、Enter キーを押します。
[pricingTier の値を定義] では、P1V2 用に「3」と入力してから、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] ------------------------------------------------------------------------
自分の選択内容を確認した後、プラグインは、上記のプラグイン要素とお使いの Web アプリを Azure App Service で実行するように構成する必要な設定をお使いのプロジェクトの pom.xml
ファイルに追加します。
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
内で App Service の構成を直接変更できます。
- 構成の完全な一覧については、「 共通構成」を参照してください。
- App Service に固有の構成については、「 Azure Web App: 構成の詳細」を参照してください。
<appName>
と <resourceGroup>
の値 (デモでは helloworld-1745408005556
と helloworld-1745408005556-rg
となっています) に注意してください。 これらは後で使用します。
4 - アプリをデプロイする
pom.xml ファイル内のすべての構成の準備ができたら、1 つのコマンドで Java アプリを Azure にデプロイできます。
mvn package azure-webapp:deploy
使用可能なサブスクリプションの一覧から選択すると、Maven は Azure App Service にデプロイされます。 デプロイが完了すると、アプリケーションは http://<appName>.azurewebsites.net/
(デモのhttp://helloworld-1745408005556.azurewebsites.net
) で準備が整います。 ローカル Web ブラウザーで URL を開くと、
おめでとうございます。 App Service に初めての Java アプリをデプロイできました。
5 - リソースをクリーンアップする
前の手順では、リソース グループ内に Azure リソースを作成しました。 今後これらのリソースが必要でない場合は、ポータルからリソース グループを削除するか、Cloud Shell で次のコマンドを実行します。
az group delete --name <your resource group name; for example: helloworld-1745408005556-rg> --yes
このコマンドの実行には、少し時間がかかる場合があります。
このクイック スタートでは、 Azure App Service Web Apps 用の Maven プラグイン を使用して、埋め込みサーバーを含む Java Web アプリケーションを Azure App Service にデプロイします。 App Service は、高度にスケーラブルで、パッチを自己適用する Web アプリ ホスティング サービスを提供します。 タブを使用して、Tomcat、JBoss、埋め込みサーバー (Java SE) の手順間の切り替えを行います。
このクイックスタートでは、 Azure-webapp-maven-plugin プラグインを使用して、Spring Boot アプリ、Quarkus アプリ、または埋め込み Tomcat をデプロイします。
Maven が好みの開発ツールでない場合は、Java 開発者向けの同様のチュートリアルを確認してください。
Azure サブスクリプションをお持ちでない場合は、開始する前に Azure 無料アカウントを作成してください。
1 - Azure Cloud Shell を使用する
Azure では、ブラウザーを介して使用できる対話型のシェル環境、Azure Cloud Shell がホストされています。 Cloud Shell で Bash または PowerShell を使用して、Azure サービスを操作できます。 ローカル環境に何もインストールしなくても、Cloud Shell にプレインストールされているコマンドを使用して、この記事のコードを実行できます。
Azure Cloud Shell を開始するには、以下のようにします。
オプション | 例とリンク |
---|---|
コードまたはコマンド ブロックの右上隅にある [ 試 してみる] を選択します。 [ 試 してみる] を選択しても、コードまたはコマンドは Cloud Shell に自動的にコピーされません。 | ![]() |
https://shell.azure.comに移動するか、[Cloud Shell の起動] ボタンを選択してブラウザーで Cloud Shell を開きます。 | ![]() |
Azure portal の右上にあるメニュー バーの Cloud Shell ボタンを選択します。 | ![]() |
Azure Cloud Shell を使用するには、以下のようにします。
Cloud Shell を開始します。
コード ブロック (またはコマンド ブロック) の [コピー ] ボタンを選択して、コードまたはコマンドをコピーします。
Windows および Linux で Ctrl+Shift+V を選択するか、macOS の Cmd+Shift+V を選択して、Cloud Shell セッションにコードまたはコマンドを貼り付けます。
Enter キーを 押 してコードまたはコマンドを実行します。
2 - サンプル アプリを入手する
既定の 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
3 - Maven プラグインを構成する
Azure App Service へのデプロイ プロセスでは、Azure CLI から Azure 資格情報が自動的に使用されます。 Azure CLI がローカルにインストールされていない場合、Maven プラグインは OAuth またはデバイス ログインを使用して認証します。 詳細については、 Maven プラグインを使用した認証を参照してください。
次に示す Maven コマンドを実行して、デプロイを構成します。 このコマンドは、App Service オペレーティング システム、Java バージョン、および Tomcat バージョンを設定するのに役立ちます。
mvn com.microsoft.azure:azure-webapp-maven-plugin:2.14.1:config
[ 新しい実行構成の作成] に「 Y」と入力し、Enter キーを 押します。
[ OS の値を定義する] に「 Linux の場合は 2 」と入力し、Enter キーを 押します。
[JavaVersion の値を定義する] に「Java 21」に「1」と入力し、Enter キーを押します。
[ PricingTier の値の定義] に「P1v2」に 「3 」と入力し、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] ------------------------------------------------------------------------
選択内容を確認した後、プラグインによって、Web アプリを Azure App Service で実行するように構成する、上記のプラグイン要素と必須の設定が、プロジェクトの pom.xml
ファイルに追加されます。
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
内で App Service の構成を直接変更できます。
- 構成の完全な一覧については、「 共通構成」を参照してください。
- App Service に固有の構成については、「 Azure Web App: 構成の詳細」を参照してください。
<appName>
と <resourceGroup>
の値に注意してください。 これらは後で使用します。
4 - アプリをデプロイする
pom.xml ファイル内のすべての構成の準備ができたら、1 つのコマンドで Java アプリを Azure にデプロイできます。
次のコマンドを使用して JAR ファイルをビルドします。
mvn clean package
ヒント
Spring Boot では、
mvn package
を含む 2 つの JAR ファイルが生成されますが、azure-webapp-maven-plugin
は、自動的にデプロイする適切な JAR ファイルを選択します。次のコマンドを使用することで Azure にデプロイします。
mvn azure-webapp:deploy
使用可能なサブスクリプションの一覧から選択すると、Maven は Azure App Service にデプロイされます。 デプロイが完了すると、次の出力が表示されます。
[INFO] Successfully deployed the artifact to https://<app-name>.azurewebsites.net [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 02:20 min [INFO] Finished at: 2023-07-26T12:47:50Z [INFO] ------------------------------------------------------------------------
アプリケーションは
http://<appName>.azurewebsites.net/
で準備が整いました。
ローカル Web ブラウザーで URL http://<appName>.azurewebsites.net/greeting
を開くと (/greeting
パスに注意してください)、次のように表示されます。
おめでとうございます。 App Service に初めての Java アプリをデプロイしました。
5 - リソースをクリーンアップする
前の手順では、リソース グループ内に Azure リソースを作成しました。 今後これらのリソースが必要でない場合は、ポータルからリソース グループを削除するか、Cloud Shell で次のコマンドを実行します。
az group delete --name <your resource group name; for example: quarkus-hello-azure-1690375364238-rg> --yes
このコマンドの実行には 1 分かかることがあります。
このクイックスタートでは、 Azure App Service Web Apps 用の Maven プラグイン を使用して、Java Web アプリケーションを Azure App Service の Linux JBoss EAP サーバーにデプロイします。 App Service は、高度にスケーラブルで、パッチを自己適用する Web アプリ ホスティング サービスを提供します。 タブを使用して、Tomcat、JBoss、埋め込みサーバー (Java SE) の手順間の切り替えを行います。
Maven が好みの開発ツールでない場合は、Java 開発者向けの同様のチュートリアルを確認してください。
Azure サブスクリプションをお持ちでない場合は、開始する前に Azure 無料アカウントを作成してください。
1 - Azure Cloud Shell を使用する
Azure では、ブラウザーを介して使用できる対話型のシェル環境、Azure Cloud Shell がホストされています。 Cloud Shell で Bash または PowerShell を使用して、Azure サービスを操作できます。 ローカル環境に何もインストールしなくても、Cloud Shell にプレインストールされているコマンドを使用して、この記事のコードを実行できます。
Azure Cloud Shell を開始するには、以下のようにします。
オプション | 例とリンク |
---|---|
コードまたはコマンド ブロックの右上隅にある [ 試 してみる] を選択します。 [ 試 してみる] を選択しても、コードまたはコマンドは Cloud Shell に自動的にコピーされません。 | ![]() |
https://shell.azure.comに移動するか、[Cloud Shell の起動] ボタンを選択してブラウザーで Cloud Shell を開きます。 | ![]() |
Azure portal の右上にあるメニュー バーの Cloud Shell ボタンを選択します。 | ![]() |
Azure Cloud Shell を使用するには、以下のようにします。
Cloud Shell を開始します。
コード ブロック (またはコマンド ブロック) の [コピー ] ボタンを選択して、コードまたはコマンドをコピーします。
Windows および Linux で Ctrl+Shift+V を選択するか、macOS の Cmd+Shift+V を選択して、Cloud Shell セッションにコードまたはコマンドを貼り付けます。
Enter キーを 押 してコードまたはコマンドを実行します。
2 - Java アプリを作成する
Pet Store デモ アプリケーションを複製します。
git clone https://github.com/Azure-Samples/app-service-java-quickstart
ディレクトリを完成したペット ストア プロジェクトに変更し、これをビルドします。
ヒント
petstore-ee7
サンプルには Java 11 以降が必要です。 booty-duke-app-service
サンプル プロジェクトには Java 17 が必要です。 インストールされている Java のバージョンが 17 未満の場合は、最上位ではなく、petstore-ee7
ディレクトリ内からビルドを実行します。
cd app-service-java-quickstart
git checkout 20230308
cd petstore-ee7
mvn clean install
デタッチされた HEAD 状態であることを示すメッセージが表示された場合、このメッセージは無視しても問題はありません。 このクイックスタートでは Git コミットを一切行わないので、デタッチされた HEAD 状態が適切です。
3 - Maven プラグインを構成する
Azure App Service へのデプロイ プロセスでは、Azure CLI から Azure 資格情報が自動的に使用されます。 Azure CLI がローカルにインストールされていない場合、Maven プラグインは OAuth またはデバイス ログインを使用して認証します。 詳細については、 Maven プラグインを使用した認証を参照してください。
次に示す Maven コマンドを実行して、デプロイを構成します。 このコマンドは、App Service オペレーティング システム、Java バージョン、および Tomcat バージョンを設定するのに役立ちます。
mvn com.microsoft.azure:azure-webapp-maven-plugin:2.14.1:config
[ 新しい実行構成の作成] に「 Y」と入力し、Enter キーを 押します。
[ OS の値を定義する] に「 Linux の場合は 2 」と入力し、Enter キーを 押します。
[JavaVersion の値を定義する] に「Java 17 の場合は 2」と入力し、Enter キーを押します。 Java 21 を選択した場合、後で Jbosseap がオプションとして表示されません。
webContainer の値を定義するには、「Jbosseap 7」用に 4 と入力し、Enter キーを押します。
[ PricingTier の値の定義] に「 P1v3 」に「1」と入力し、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] ------------------------------------------------------------------------
自分の選択内容を確認した後、プラグインは、上記のプラグイン要素とお使いの Web アプリを Azure App Service で実行するように構成する必要な設定をお使いのプロジェクトの pom.xml
ファイルに追加します。
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
内で App Service の構成を直接変更できます。
- 構成の完全な一覧については、「 共通構成」を参照してください。
- App Service に固有の構成については、「 Azure Web App: 構成の詳細」を参照してください。
<appName>
と <resourceGroup>
の値 (デモでは petstoreee7-1745409173307
と petstoreee7-1745409173307-rg
となっています) に注意してください。 これらは後で使用します。
4 - アプリをデプロイする
pom.xml ファイル内のすべての構成の準備ができたら、1 つのコマンドで Java アプリを Azure にデプロイできます。
# Disable testing, as it requires Wildfly to be installed locally.
mvn package azure-webapp:deploy -DskipTests
使用可能なサブスクリプションの一覧から選択すると、Maven は Azure App Service にデプロイされます。 デプロイが完了すると、アプリケーションは http://<appName>.azurewebsites.net/
(デモのhttp://petstoreee7-1745409173307.azurewebsites.net
) で準備が整います。 ローカル Web ブラウザーで URL を開くと、
おめでとうございます。 App Service に初めての Java アプリをデプロイできました。
5 - リソースをクリーンアップする
前の手順では、リソース グループ内に Azure リソースを作成しました。 今後これらのリソースが必要でない場合は、ポータルからリソース グループを削除するか、Cloud Shell で次のコマンドを実行します。
az group delete --name <your resource group name; for example: petstoreee7-1745409173307-rg> --yes
このコマンドの実行には、少し時間がかかる場合があります。