IntelliJ IDEAとGradleとTomcatでHelloWorld

IntelliJ IDEAでGradleとTomcatでHelloWorldをするWebアプリを作るところまでを解説します。

今回使用するソフトウェアのバージョンは次のとおりです。

OS
Windows 10
Java
OpenJDK 10.0.1
Tomcat
9.0.7
IntelliJ IDEA
2018.1.1

別途、設定途中だけJava 8が必要になりますのでそれもインストールしてください。

ソフトウェアのインストール

OpenJDKのインストール

OpenJDKはファイルをダウンロードして展開するだけなので省略します。

macOSの場合には次のページを参考にしてください。

macOSにOpenJDKをインストールする
macOSにOpenJDKを入れる方法を解説します。まず、最新のOpenJDKをダウンロードします。この記事を書いている時点では10.0.1が最新ですのでそれをダウンロードします。ダウンロードは次のサイトから行います。ダウンロードしたファイ

Tomcatのインストール

Tomcatは次のサイトからダウンロードします。

Apache Tomcat® - Welcome!

WindowsでIntelliJ IDEAから使うのであれば、zip版でいいと思います。

ダウンロードしたzipファイルを展開します。展開してできた「apache-tomcat-9.0.7」フォルダをここでは「C:\dev\Tomcat」フォルダに格納します。格納場所は任意の場所で構いません。

IntelliJ IDEAの設定

プロジェクトの作成

IntelliJ IDEAを起動し、「Create New Project」を選択します。

New Projectの画面で、まずProject SDKをJava 1.8にします。そして、左側の一覧から「Gradle」を選び、Additional Libraries and Frameworksの「Web」にチェックを入れ「Next」を押します。

ここでJava 1.8にしているのは、Gradleプロジェクトを作成した際に最初に動くビルドがエラーになるためです。最初のビルドを通した後、Java 10に変更します。

GroupIdとArtifactIdを入力します。今回は、それぞれ「com.example」、「hello-world」としています。

次の画面はそのままで構いません。

最後にプロジェクト名とプロジェクトの場所を聞かれます。今回は(すぐ消すので)デスクトップにプロジェクトを作っています。「Finish」を押すとプロジェクトが作成されます。

Gradleの初期設定

「View」メニューから「Tool Windows」→「Gradle」を選びます。

そうするとウィンドウの右側にGradleの操作用のウィンドウが表示されます。そこで「Refresh all Gradle projects」を押します。

そうすると、処理が走り少し待つとgradlew等のファイルが生成されます。うまく表示されない場合には、メニューから「File」→「Synchronize」を選択してみてください。

次にGradleのバージョンを上げます。Terminalから次のコマンドを入力します。Terminalはウィンドウの最下部にあります。

入力するコマンドは次のとおりです。–gradle-versionで使用するGradleのバージョンを指定できます。今回は現時点で最新の4.7を指定しています。

>gradlew wrapper --gradle-version=4.7

ここまですると、Java 10に変更することができます。メニューから「File」→「Project Structure」を選びます。

表示された画面でJava 10を選択します。

そして、Gradleの「Refresh all Gradle projects」を再度押し、エラーが出なければGradle設定の完了です。

Gradleの設定

build.gradleファイルを次のように変更し、「Refresh all Gradle projects」を押します。そうすると、External Librariesの欄にServlet APIが追加されます。

apply plugin: 'war'

repositories {
    mavenCentral()
}

dependencies {
    providedCompile 'javax.servlet:javax.servlet-api:4.0.0'
}

サーブレットの作成と実行

準備はほぼ終わりましたので、テスト用のサーブレットを作成します。

まず、「src/main」フォルダの中に「java」フォルダを作ります。「main」を右クリックし、「New」→「Directory」を選択します。

表示された画面で「java」と入力します。

次に今作ったフォルダを右クリックし、「New」→「Package」を選択します。

そして、表示されたウィンドウで、「com.example」と入力します。

次にHelloServletクラスを作ります。今作った「com.example」パッケージを右クリックし「New」→「Java Class」を選択します。

そして、表示されたウィンドウで「HelloServlet」と入力します。

HelloServletは次のように作成します。

package com.example;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

@WebServlet("/hello")
public class HelloServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        var hello = "Hello world";
        try (PrintWriter pw = resp.getWriter()) {
            pw.println(hello);
        }
    }
}

Tomcatの準備

最後にTomcatを準備し実行していきます。ウィンドウの右上の実行設定の「Edit Configurations」を選択します。

表示されたウィンドウの、「+」を押して「Tomcat Server」→「Local」を選択します。

表示された画面で、任意の「Name」を設定し、「Application Server」の「Configure」ボタンを押します。

参照ボタンを押して、Tomcatを展開したフォルダーを選択します。

次に、戻った画面の「Deployment」タブを開きます。そして、「+」ボタンを押し「Artifact」を選択します。

Artifactsはwarで固められた形式と、warに固めずファイルシステムとして展開されたもの(exploded)の2種類から選択できます。ここでは、warで固められたものを選択しています。

ここまでの設定を行うとApplication contextを設定できますので、今回はそのまま「/」としておきます。

これで設定は完了です。実行ボタンを押してTomcatを起動します。

起動後、次のURLにアクセスします。

http://localhost:8080/hello

そして、次のように表示されれば成功です。

コメント