クイック スタート:Azure App Service on Windows で Java アプリを作成するQuickstart: Create a Java app on Azure App Service on Windows

注意

この記事では、Windows 上の App Service にアプリをデプロイします。This article deploys an app to App Service on Windows. Linux 上の App Service にデプロイするには、Linux での Java Web アプリの作成に関するページを参照してください。To deploy to App Service on Linux, see Create Java web app on Linux.

Azure App Service では、高度にスケーラブルな自己適用型の Web ホスティング サービスを提供しています。Azure App Service provides a highly scalable, self-patching web hosting service. このクイック スタートでは、Azure CLIAzure App Service 用の Maven プラグインと共に使用して Java Web アーカイブ (WAR) ファイルをデプロイする方法を示します。This quickstart shows how to use the Azure CLI with the Maven Plugin for Azure App Service to deploy a Java web archive (WAR) file.

注意

IntelliJ や Eclipse のような一般的な IDE を使っても同じことができます。The same thing can also be done using popular IDEs like IntelliJ and Eclipse. Azure Toolkit for IntelliJ のクイック スタートまたは Azure Toolkit for Eclipse のクイック スタートで類似するドキュメントを確認してください。Check out our similar documents at Azure Toolkit for IntelliJ Quickstart or Azure Toolkit for Eclipse Quickstart.

Azure App Service で実行されているサンプル アプリ

Azure サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。If you don't have an Azure subscription, create a free account before you begin.

Azure Cloud Shell を使用するUse Azure Cloud Shell

Azure では、ブラウザーを介して使用できる対話型のシェル環境、Azure Cloud Shell がホストされています。Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. Cloud Shell で Bash または PowerShell を使用して、Azure サービスを操作できます。You can use either Bash or PowerShell with Cloud Shell to work with Azure services. ローカル環境に何もインストールしなくても、Cloud Shell にプレインストールされているコマンドを使用して、この記事のコードを実行できます。You can use the Cloud Shell preinstalled commands to run the code in this article without having to install anything on your local environment.

Azure Cloud Shell を開始するには:To start Azure Cloud Shell:

オプションOption 例とリンクExample/Link
コード ブロックの右上隅にある [使ってみる] を選択します。Select Try It in the upper-right corner of a code block. [使ってみる] を選択しても、コードは Cloud Shell に自動的にコピーされません。Selecting Try It doesn't automatically copy the code to Cloud Shell. Azure Cloud Shell の [使ってみる] の例
https://shell.azure.com に移動するか、 [Cloud Shell を起動する] ボタンを選択して、ブラウザーで Cloud Shell を開きます。Go to https://shell.azure.com, or select the Launch Cloud Shell button to open Cloud Shell in your browser. 新しいウィンドウで Cloud Shell を起動するLaunch Cloud Shell in a new window
Azure portal の右上にあるメニュー バーの [Cloud Shell] ボタンを選択します。Select the Cloud Shell button on the top-right menu bar in the Azure portal. Azure Portal の [Cloud Shell] ボタン

Azure Cloud Shell でこの記事のコードを実行するには:To run the code in this article in Azure Cloud Shell:

  1. Cloud Shell を開始します。Start Cloud Shell.

  2. [コピー] ボタンを選択して、コード ブロックをコードにコピーします。Select the Copy button on a code block to copy the code.

  3. Windows と Linux では Ctrl+Shift+V キーを選択し、macOS では Cmd+Shift+V キーを選択して、コードを Cloud Shell セッションに貼り付けます。Paste the code into the Cloud Shell session by selecting Ctrl+Shift+V on Windows and Linux or by selecting Cmd+Shift+V on macOS.

  4. Enter キーを選択して、コードを実行します。Select Enter to run the code.

Java アプリを作成するCreate a Java app

Cloud Shell プロンプトで次の Maven コマンドを実行して、helloworld という名前の新しいアプリを作成します。Execute the following Maven command in the Cloud Shell prompt to create a new app named helloworld:

mvn archetype:generate -DgroupId=example.demo -DartifactId=helloworld -DarchetypeArtifactId=maven-archetype-webapp

Maven プラグインを構成するConfigure the Maven plugin

Maven からデプロイするには、Cloud Shell でコード エディターを使用して helloworld ディレクトリ内のプロジェクト pom.xml ファイルを開きます。To deploy from Maven, use the code editor in the Cloud Shell to open up the project pom.xml file in the helloworld directory.

code pom.xml

次に、pom.xml ファイルの <build> 要素内に次のプラグイン定義を追加します。Then add the following plugin definition inside the <build> element of the pom.xml file.

<plugins>
    <!--*************************************************-->
    <!-- Deploy to Tomcat in App Service Windows         -->
    <!--*************************************************-->
    <plugin>
        <groupId>com.microsoft.azure</groupId>
        <artifactId>azure-webapp-maven-plugin</artifactId>
        <version>1.8.0</version>
        <configuration>
            <!-- Specify v2 schema -->
            <schemaVersion>v2</schemaVersion>
            <!-- App information -->
            <subscriptionId>SUBSCRIPTION_ID</subscriptionId>
            <resourceGroup>RESOURCEGROUP_NAME</resourceGroup>
            <appName>WEBAPP_NAME</appName>
            <region>REGION</region>
            <!-- Java Runtime Stack for App Service on Windows-->
            <runtime>
                <os>windows</os>
                <javaVersion>1.8</javaVersion>
                <webContainer>tomcat 9.0</webContainer>
            </runtime>
            <deployment>
                <resources>
                    <resource>
                        <directory>${project.basedir}/target</directory>
                        <includes>
                            <include>*.war</include>
                        </includes>
                    </resource>
                </resources>
            </deployment>
        </configuration>
    </plugin>
</plugins>

注意

この記事では、WAR ファイル内にパッケージ化された Java アプリのみを操作します。In this article we are only working with Java apps packaged in WAR files. このプラグインは、JAR Web アプリケーションもサポートしています。Java SE JAR ファイルを App Service on Linux にデプロイする方法に関するページにアクセスしてお試しください。The plugin also supports JAR web applications, visit Deploy a Java SE JAR file to App Service on Linux to try it out.

プラグイン構成で、次のプレースホルダーを更新します。Update the following placeholders in the plugin configuration:

プレースホルダーPlaceholder 説明Description
SUBSCRIPTION_ID アプリをデプロイするサブスクリプションの一意の ID。The unique ID of the subscription you want to deploy your app to. 既定のサブスクリプションの ID は、Cloud Shell または CLI から az account show コマンドを使用して調べることができます。Default subscription's ID can be found from the Cloud Shell or CLI using the az account show command. 使用可能なすべてのサブスクリプションを調べるには、az account list コマンドを使用します。For all the available subscriptions, use the az account list command.
RESOURCEGROUP_NAME その中にアプリを作成する新しいリソース グループの名前。Name for the new resource group in which to create your app. アプリのすべてのリソースを 1 つのグループ内に配置することで、それらを一緒に管理できます。By putting all the resources for an app in a group, you can manage them together. たとえば、リソース グループを削除すれば、そのアプリに関連付けられているすべてのリソースが削除されます。For example, deleting the resource group would delete all resources associated with the app. この値を一意の新しいリソース グループ名 (たとえば、myResourceGroup) で更新します。Update this value with a unique new resource group name, for example, myResourceGroup. このリソース グループ名を使用して、後のセクションですべての Azure リソースをクリーンアップします。You will use this resource group name to clean up all Azure resources in a later section.
WEBAPP_NAME Azure にデプロイされると、このアプリ名はアプリのホスト名の一部になります (WEBAPP_NAME.azurewebsites.net)。The app name will be part of the host name for the app when deployed to Azure (WEBAPP_NAME.azurewebsites.net). この値を、Java アプリをホストする新しい App Service アプリの一意の名前 (たとえば、contoso) で更新します。Update this value with a unique name for the new App Service app, which will host your Java app, for example contoso.
REGION アプリがホストされている Azure リージョン (たとえば、westus2)。An Azure region where the app is hosted, for example westus2. リージョンの一覧は、az account list-locations コマンドを使用して Cloud Shell または CLI から取得できます。You can get a list of regions from the Cloud Shell or CLI using the az account list-locations command.

アプリケーションのデプロイDeploy the app

次のコマンドを使用して、Java アプリを Azure にデプロイします。Deploy your Java app to Azure using the following command:

mvn package azure-webapp:deploy

デプロイが完了したら、Web ブラウザーで次の URL を使用して、デプロイされたアプリケーションを参照します (たとえば、http://<webapp>.azurewebsites.net/)。Once deployment has completed, browse to the deployed application using the following URL in your web browser, for example http://<webapp>.azurewebsites.net/.

Azure App Service で実行されているサンプル アプリ

お疲れさまでした。Congratulations! App Service on Windows に初めての Java アプリをデプロイしました。You've deployed your first Java app to App Service on Windows.

リソースのクリーンアップClean up resources

前の手順では、リソース グループ内に Azure リソースを作成しました。In the preceding steps, you created Azure resources in a resource group. これらのリソースが将来必要になると想定していない場合、Cloud Shell で次のコマンドを実行して、リソース グループを削除します。If you don't expect to need these resources in the future, delete the resource group by running the following command in the Cloud Shell:

az group delete --name myResourceGroup

このコマンドの実行には、少し時間がかかる場合があります。This command may take a minute to run.

次の手順Next steps