Visual Studio CodeでJava Webアプリ
このチュートリアルでは、Visual Studio CodeでJava Webアプリケーションを作成する方法を示します。Java WebアプリケーションをAzure App ServiceのLinux Tomcatサーバーにデプロイする方法を学びます。
シナリオ
シンプルなHello World Webアプリ。
はじめる前に
このサンプルを実行およびデプロイする前に、ローカル開発環境にJava SE Development Kit (JDK) とApache Mavenビルドツールがインストールされている必要があります。インストールされていない場合は、インストールしてください。
JDK 11が含まれるExtension Pack for Javaをダウンロードしてインストールします。
注意: このチュートリアルを完了するには、`JAVA_HOME`環境変数をJDKのインストール場所に設定する必要があります。
Apache Mavenバージョン3以降をダウンロード
ローカル開発環境にApache Mavenをインストール
Maven Webアプリプロジェクトの作成
`maven-archetype-webapp`は、Maven Webアプリプロジェクトを生成するアーキタイプです。詳細については、こちらのドキュメントを参照してください。
- 空のフォルダーで、以下のコマンドを実行してMavenアーキタイプから新しいプロジェクトを生成します。
mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-webapp -DarchetypeVersion=1.4
-
Mavenは、デプロイ時にプロジェクトの生成を完了するために必要な値を尋ねます。プロンプトが表示されたら以下の値を入力してください。
プロンプト 値 説明 groupId com.webappproject
Javaのパッケージ命名規則に従い、すべてのプロジェクトでプロジェクトを一意に識別する値。 artifactId webapp-project
バージョン番号を含まないjarの名前となる値。 version 1.0-SNAPSHOT
デフォルト値を選択します。 package com.webappproject
生成される関数コードのJavaパッケージとなる値。デフォルトを使用してください。 -
`Y`と入力するか、Enterキーを押して確認します。
Mavenは、*artifactId*という名前の新しいフォルダーにプロジェクトファイルを作成します。この例では`webapp-project`です。
-
プロジェクトフォルダーに移動
cd webapp-project
クラウドへのWebアプリのデプロイ
Java Webアプリケーションをビルドしてローカルで実行しました。次に、Visual Studio Codeからデプロイし、クラウドのAzureで実行する方法を学びます。
Azureサブスクリプションをお持ちでない場合は、無料のAzureアカウントにサインアップできます。
Azure App Service拡張機能をインストール
Azure App Service拡張機能は、Azure App Serviceの作成、管理、デプロイに使用され、主な機能は次のとおりです。
- 新しいAzure Webアプリ/デプロイメントスロットを作成
- Azure Webアプリ/デプロイメントスロットにデプロイ
- Azure Webアプリ/デプロイメントスロットを開始、停止、再起動
- Webアプリのログファイルを表示
- デプロイメントスロットをスワップ
Azure App Service拡張機能をインストールするには、拡張機能ビュー (⇧⌘X (Windows, Linux Ctrl+Shift+X)) を開き、`azure app service`を検索して結果を絞り込みます。MicrosoftのAzure App Service拡張機能を選択します。よりコマンドラインベースのMaven体験については、Azure App Service Linuxチュートリアル用のMavenプラグインも参照してください。
Azureサブスクリプションにサインイン
Azureにサインインするには、コマンドパレット (⇧⌘P (Windows, Linux Ctrl+Shift+P)) からAzure: サインインを実行します。または、RESOURCES エクスプローラーでAzureにサインイン...をクリックしてAzureアカウントにサインインすることもできます。
Azure上に新しいWebアプリを作成
拡張機能がインストールされたら、以下の手順でAzure上に新しいWebアプリを作成できます。
-
RESOURCES エクスプローラービューで作成ボタンをクリックし、App Service Webアプリの作成...を選択します。
-
新しいWebアプリの一意の名前を入力します。
-
Webアプリのランタイムタスクを選択します。例: `Java 17`。
-
Java Webサーバースタックを選択します。例: `Apache Tomcat 10.0`。
-
価格レベルを選択します。例: `Free(F1)`。
Webアプリをビルドしてデプロイ
デプロイプロセスはAzure Resources拡張機能 (Azure App Service拡張機能の依存関係としてインストールされます) を利用するため、Azureサブスクリプションでサインインする必要があります。Azureサブスクリプションをお持ちでない場合は、今すぐサインアップして30日間の無料アカウントを取得し、200ドルのAzureクレジットでAzureサービスの任意の組み合わせを試すことができます。
サインインしたら、コマンドプロンプトまたはターミナルウィンドウを開き、Mavenコマンドを使用してプロジェクトをビルドできます。これにより、`target`ディレクトリに新しい`war`または`jar`アーティファクトが生成されます。
mvn clean package
プロジェクトをビルドした後、VS Codeエクスプローラーで`target`ディレクトリを開きます。アーティファクトを右クリックしてWebアプリにデプロイを選択し、プロンプトに従ってデプロイするWebアプリを選択します。
VS Codeの出力ウィンドウを開いてデプロイログを表示します。デプロイが完了すると、WebアプリのURLが表示されます。リンクをクリックしてブラウザーで開き、AzureでWebアプリが実行されていることを確認できます!
注意: App Serviceのより高度な機能については、Azure App Service拡張機能を確認してください。
リソースのクリーンアップ
-
Webアプリを削除するには、RESOURCESエクスプローラーに移動し、App Services項目を見つけます。
-
削除したいWebアプリを右クリックし、削除をクリックします。
- アプリサービスプランまたはリソースグループを削除するには、Azureポータルにアクセスし、サブスクリプション内のリソースを手動で削除してください。
次のステップ
- Webアプリケーションをコンテナ化してデプロイするには、VS CodeのDockerを参照してください。
- Javaデバッグ機能の詳細については、Javaデバッグチュートリアルを参照してください。