次の方法で共有


クイック スタート:Azure App Service で Java アプリを作成する

このクイックスタートでは、 Azure App Service Web Apps 用の Maven プラグイン を使用して、Java Web アプリケーションを Azure App Service の Linux Tomcat サーバーにデプロイします。 App Service は、高度にスケーラブルで、パッチを自己適用する Web アプリ ホスティング サービスを提供します。 タブを使用して、Tomcat、JBoss、埋め込みサーバー (Java SE) の手順間の切り替えを行います。

Azure App Service で実行されている Maven Hello World Web アプリのスクリーンショット。

Maven が好みの開発ツールでない場合は、Java 開発者向けの同様のチュートリアルを確認してください。

Azure サブスクリプションをお持ちでない場合は、開始する前に Azure 無料アカウントを作成してください。

1 - Azure Cloud Shell を使用する

Azure では、ブラウザーを介して使用できる対話型のシェル環境、Azure Cloud Shell がホストされています。 Cloud Shell で Bash または PowerShell を使用して、Azure サービスを操作できます。 ローカル環境に何もインストールしなくても、Cloud Shell にプレインストールされているコマンドを使用して、この記事のコードを実行できます。

Azure Cloud Shell を開始するには、以下のようにします。

オプション 例とリンク
コードまたはコマンド ブロックの右上隅にある [ してみる] を選択します。 [ してみる] を選択しても、コードまたはコマンドは Cloud Shell に自動的にコピーされません。 Azure Cloud Shell の Try It の例を示すスクリーンショット。
https://shell.azure.comに移動するか、[Cloud Shell の起動] ボタンを選択してブラウザーで Cloud Shell を開きます。 Azure Cloud Shell を起動するボタン。
Azure portal の右上にあるメニュー バーの Cloud Shell ボタンを選択します。 Azure portal の [Cloud Shell] ボタンを示すスクリーンショット

Azure Cloud Shell を使用するには、以下のようにします。

  1. Cloud Shell を開始します。

  2. コード ブロック (またはコマンド ブロック) の [コピー ] ボタンを選択して、コードまたはコマンドをコピーします。

  3. Windows および Linux で Ctrl+Shift+V を選択するか、macOS の Cmd+Shift+V を選択して、Cloud Shell セッションにコードまたはコマンドを貼り付けます。

  4. 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
  1. [ 新しい実行構成の作成] に「 Y」と入力し、Enter キーを 押します

  2. [ OS の値を定義する] にWindows の場合は 1 」、Linux の場合 は「2 」と入力し、Enter キーを 押します

  3. [JavaVersion の値を定義する] に「Java 21」に「1」と入力し、Enter キーを押します

  4. [WebContainer の値を定義する] に、Tomcat 10.1 に「1」と入力し、Enter キーを押します

  5. [pricingTier の値を定義] では、P1V2 用に「3」と入力してから、Enter キーを押します。

  6. [ 確認] に「 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 の構成を直接変更できます。

<appName><resourceGroup> の値 (デモでは helloworld-1745408005556helloworld-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 を開くと、

Azure App Service で実行されている Maven Hello World Web アプリのスクリーンショット。

おめでとうございます。 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 に自動的にコピーされません。 Azure Cloud Shell の Try It の例を示すスクリーンショット。
https://shell.azure.comに移動するか、[Cloud Shell の起動] ボタンを選択してブラウザーで Cloud Shell を開きます。 Azure Cloud Shell を起動するボタン。
Azure portal の右上にあるメニュー バーの Cloud Shell ボタンを選択します。 Azure portal の [Cloud Shell] ボタンを示すスクリーンショット

Azure Cloud Shell を使用するには、以下のようにします。

  1. Cloud Shell を開始します。

  2. コード ブロック (またはコマンド ブロック) の [コピー ] ボタンを選択して、コードまたはコマンドをコピーします。

  3. Windows および Linux で Ctrl+Shift+V を選択するか、macOS の Cmd+Shift+V を選択して、Cloud Shell セッションにコードまたはコマンドを貼り付けます。

  4. Enter キーを してコードまたはコマンドを実行します。

2 - サンプル アプリを入手する

  1. 既定の Spring Boot Web アプリケーション テンプレートをダウンロードして抽出します。 このリポジトリは、 Spring CLI コマンド spring boot new my-webappを実行するときに複製されます。

    git clone https://github.com/rd-1-2022/rest-service my-webapp
    
  2. 作業ディレクトリをプロジェクト フォルダーに変更します。

    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
  1. [ 新しい実行構成の作成] に「 Y」と入力し、Enter キーを 押します

  2. [ OS の値を定義する] にLinux の場合は 2 」と入力し、Enter キーを 押します

  3. [JavaVersion の値を定義する] に「Java 21」に「1」と入力し、Enter キーを押します

  4. [ PricingTier の値の定義] に「P1v2」に 「3 」と入力し、Enter キーを 押します

  5. [ 確認] に「 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 の構成を直接変更できます。

<appName><resourceGroup> の値に注意してください。 これらは後で使用します。

4 - アプリをデプロイする

pom.xml ファイル内のすべての構成の準備ができたら、1 つのコマンドで Java アプリを Azure にデプロイできます。

  1. 次のコマンドを使用して JAR ファイルをビルドします。

    mvn clean package
    

    ヒント

    Spring Boot では、 mvn packageを含む 2 つの JAR ファイルが生成されますが、 azure-webapp-maven-plugin は、自動的にデプロイする適切な JAR ファイルを選択します。

  2. 次のコマンドを使用することで 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 パスに注意してください)、次のように表示されます。

Azure App Service で実行されている Spring Boot Hello World Web アプリのスクリーンショット。

おめでとうございます。 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) の手順間の切り替えを行います。

Azure App Service で実行されている Maven Hello World Web アプリのスクリーンショット。

Maven が好みの開発ツールでない場合は、Java 開発者向けの同様のチュートリアルを確認してください。

Azure サブスクリプションをお持ちでない場合は、開始する前に Azure 無料アカウントを作成してください。

1 - Azure Cloud Shell を使用する

Azure では、ブラウザーを介して使用できる対話型のシェル環境、Azure Cloud Shell がホストされています。 Cloud Shell で Bash または PowerShell を使用して、Azure サービスを操作できます。 ローカル環境に何もインストールしなくても、Cloud Shell にプレインストールされているコマンドを使用して、この記事のコードを実行できます。

Azure Cloud Shell を開始するには、以下のようにします。

オプション 例とリンク
コードまたはコマンド ブロックの右上隅にある [ してみる] を選択します。 [ してみる] を選択しても、コードまたはコマンドは Cloud Shell に自動的にコピーされません。 Azure Cloud Shell の Try It の例を示すスクリーンショット。
https://shell.azure.comに移動するか、[Cloud Shell の起動] ボタンを選択してブラウザーで Cloud Shell を開きます。 Azure Cloud Shell を起動するボタン。
Azure portal の右上にあるメニュー バーの Cloud Shell ボタンを選択します。 Azure portal の [Cloud Shell] ボタンを示すスクリーンショット

Azure Cloud Shell を使用するには、以下のようにします。

  1. Cloud Shell を開始します。

  2. コード ブロック (またはコマンド ブロック) の [コピー ] ボタンを選択して、コードまたはコマンドをコピーします。

  3. Windows および Linux で Ctrl+Shift+V を選択するか、macOS の Cmd+Shift+V を選択して、Cloud Shell セッションにコードまたはコマンドを貼り付けます。

  4. 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
  1. [ 新しい実行構成の作成] に「 Y」と入力し、Enter キーを 押します

  2. [ OS の値を定義する] にLinux の場合は 2 」と入力し、Enter キーを 押します

  3. [JavaVersion の値を定義する] に「Java 17 の場合は 2」と入力し、Enter キーを押します。 Java 21 を選択した場合、後で Jbosseap がオプションとして表示されません。

  4. webContainer の値を定義するには、「Jbosseap 7」用に 4 と入力し、Enter キーを押します。

  5. [ PricingTier の値の定義] に「 P1v3 」に「1」と入力し、Enter キーを 押します

  6. [ 確認] に「 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 の構成を直接変更できます。

<appName><resourceGroup> の値 (デモでは petstoreee7-1745409173307petstoreee7-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 を開くと、

Azure App Service で実行されている Maven Hello World Web アプリのスクリーンショット。

おめでとうございます。 App Service に初めての Java アプリをデプロイできました。

5 - リソースをクリーンアップする

前の手順では、リソース グループ内に Azure リソースを作成しました。 今後これらのリソースが必要でない場合は、ポータルからリソース グループを削除するか、Cloud Shell で次のコマンドを実行します。

az group delete --name <your resource group name; for example: petstoreee7-1745409173307-rg> --yes

このコマンドの実行には、少し時間がかかる場合があります。

次のステップ