前回は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アプリケーションの作成」でお会いしましょう!!