前回はSpring Bootを使ったWebアプリケーションを構築すべく、EclipseからGradleプロジェクトを作成しました。
今回は、このプロジェクトを編集して、Webプロジェクトへの変更、Spring Bootの依存関係の追加をします。
1. 不要リソースの削除
作成したGradleプロジェクトには、サンプルのコードが含まれています。
src/main/javaの「Library.java」、src/test/javaの「LibraryTest.java」がサンプルのソースファイルです。
このコードは使用しないので、初めに削除します。

2. Webリソースフォルダの作成
Webページや画像、CSSファイルなどを格納するWebリソースフォルダを作成します。
src/mainの下に「webapp」フォルダ、その下に「WEB-INF」フォルダを作成します。

3. build.gradleファイルの編集
Eclipseで作成したbuild.gradleファイルを編集して以下の内容に変更します。
plugins {
id 'java-library'
id 'org.springframework.boot' version '2.2.4.RELEASE'
}
apply plugin: 'war'
apply plugin: 'eclipse-wtp'
apply plugin: 'io.spring.dependency-management'
sourceCompatibility = '1.8'
targetCompatibility = '1.8'
compileJava.options.encoding = 'UTF-8'
compileTestJava.options.encoding = 'UTF-8'
eclipse.wtp {
component.contextPath = 'penguin-web'
facet {
facet name: 'jst.java', version: '1.8'
facet name: 'wst.jsdt.web', version: '1.0'
facet name: 'jst.web', version: '3.1'
}
}
repositories {
jcenter()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
次に、変更したbuild.gradleファイルの内容をプロジェクトに反映します。
プロジェクトのトップ(プロジェクト名の部分)、もしくはbuild.gradleの上で右クリックして、表示されたメニューの[Gradle] - [Gradleプロジェクトのリフレッシュ]をクリックします。
今後、build.gradleファイルを修正するたびに必要となる作業なので、この操作は覚えておきましょう。
しばらくすると、プロジェクトの設定が動的Webプロジェクトに変更されます。
4. プロジェクトの確認
設定が変更されたプロジェクトの内容を確認してみます。プロジェクトのプロパティから確認します。

コンパイラ準拠レベルが「1.8」になっていることがわかります。
これは、build.gradleファイルの以下の内容が反映されているためです。
sourceCompatibility = '1.8' targetCompatibility = '1.8'
Javaのビルド・パス

「ライブラリー」タブの「プロジェクトと外部の依存関係」を開くと、Spring Framework関係のライブラリが大量に追加されていることがわかります。
これは、build.gradleファイルの以下の内容により、必要なライブラリがすべて追加されるためです。
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
Webプロジェクトの設定

「コンテキスト・ルート」が「penguin-web」になっています。 これは、build.gradleファイルの「eclipse.wtp」の「component.contextPath」で設定されたものになっています。
eclipse.wtp {
component.contextPath = 'penguin-web'
プロジェクト・ファセット

Java、JavaScript、動的Webモジュールにチェックが入っていることから、動的Webプロジェクトに変更されていることがわかります。
それぞれのバージョンは、build.gradleファイルの「eclipse.wtp.facet」で設定されたものになっていることがわかります。
eclipse.wtp {
component.contextPath = 'penguin-web'
facet {
facet name: 'jst.java', version: '1.8'
facet name: 'wst.jsdt.web', version: '1.0'
facet name: 'jst.web', version: '3.1'
}
}
デプロイメント・アセンブリー

作成したフォルダ「src/main/webapp」がWeb公開ディレクトリである「/」にデプロイされるように設定されていることがわかります。
5. プロジェクトの文字コードセットの変更
Windows環境の場合、プロジェクトのデフォルトの文字コードセットがShift-JIS (正確にはWindows31-J)になっています。
このままだと、日本語文字を使用するときに問題になることがあるので、UTF-8に変更します。
プロジェクトのプロパティから変更します。
リソース

build.gradleでも、Javaの文字コードセット、テストJavaコードの文字コードセットをUTF-8に設定しています。
しかし、残念ながら、この設定はeclipseには反映されません。この設定はgradleでビルドするときに使用される設定となります。
compileJava.options.encoding = 'UTF-8' compileTestJava.options.encoding = 'UTF-8'
テキスト・ファイル・エンコード」が「コンテナーから継承」になっているので、「その他」を選択し、隣のプルダウンに「UTF-8」を選択します。
6. 次回予告
最低限のWebプロジェクトの設定は完了です。
いよいよ、次回以降で、このプロジェクトにプログラムを実装してSpring BootのWebアプリを構築していきます。
では、次回の「Spring Bootで作るWebアプリケーション③ - 画面遷移のあるWebアプリケーションの作成」でお会いしましょう!!