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

注意

この記事では、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 で実行されるサンプル アプリ

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

Azure Cloud Shell を開くOpen Azure Cloud Shell

Azure Cloud Shell は、Azure でホストされる対話型のシェル環境で、ブラウザーを介して使用されます。Azure Cloud Shell is an interactive shell environment hosted in Azure and used through your browse. Azure Cloud Shell では、bash または PowerShell のいずれかのシェルを使用して、Azure サービスで動作するさまざまなツールを実行できます。Azure Cloud Shell allows you to use either bash or PowerShell shells to run a variety of tools to work with Azure services. Azure Cloud Shell にはコマンドがプレインストールされており、ローカル環境に何もインストールしなくても、この記事の内容を実行できるようになっています。Azure Cloud Shell comes pre-installed with the commands to allow you to run the content of this article without having to install anything on your local environment.

この記事に含まれるコードを Azure Cloud Shell で実行するには、Cloud Shell セッションを開き、コード ブロック上の [コピー] ボタンを使ってコードをコピーし、Ctrl + Shift + V キー (Windows と Linux) または command + Shift + V キー (macOS) を押して Cloud Shell セッションに貼り付けます。To run any code contained in this article on Azure Cloud Shell, open a Cloud Shell session, use the Copy button on a code block to copy the code, and paste it into the Cloud Shell session with Ctrl+Shift+V on Windows and Linux, or Cmd+Shift+V on macOS. テキストを貼り付けても自動的には実行されません。コードを実行するには、Enter キーを押します。Pasted text is not automatically executed, so press Enter to run code.

Azure Cloud Shell は次の方法で起動できます。You can launch Azure Cloud Shell with:

コード ブロックの右上隅にある [使ってみる] を選択します。Select Try It in the upper-right corner of a code block. テキストが自動的に Cloud Shell にコピーされるわけでは__ありません__。This doesn't automatically copy text to Cloud Shell. Azure Cloud Shell の [使ってみる] の例
ブラウザーで shell.azure.com を開きます。Open shell.azure.com in your browser. Azure Cloud Shell の起動ボタンLaunch Azure Cloud Shell button
Azure Portal の右上隅にあるメニューの [Cloud Shell] ボタンを選択します。Select the Cloud Shell button on the menu in the upper-right corner of the Azure portal. Azure Portal の [Cloud Shell] ボタン

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.5.4</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. この値を一意の新しいリソース グループ名 (たとえば、TestResources) で更新します。Update this value with a unique new resource group name, for example, TestResources. このリソース グループ名を使用して、後のセクションですべての 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 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 で実行されるサンプル アプリ

お疲れさまでした。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