Spring Boot でログイン画面 + 一覧画面 + 登録画面の Webアプリケーションを作る ( 番外編 )( Spring Boot を 1.2.2 → 1.2.3 へバージョンアップ )
概要
Spring Boot の 1.2.3 がリリースされたので、バージョンアップします。他に Java SE と Spring Loaded もバージョンアップします。
- Spring Boot 1.2.2 → 1.2.3
- Java SE 8u25 → 8u40
- Spring Loaded 1.2.1 → 1.2.3
ソフトウェア一覧
参考にしたサイト
手順
Spring Boot 1.2.3 へのバージョンアップ
IntelliJ IDEA 上で 1.0.x-upgrade-springboot-1.2.3 ブランチを作成します。
build.gradle を リンク先のその1の内容 に変更します。
Gradle tasks View の左上にある「Refresh Gradle projects」アイコンをクリックして、変更した build.gradle の内容を反映します。今回は Spring Framework が 4.1.6 へバージョンアップされているのでかなり時間がかかります。
Project View の External Libraries に表示される org.springframework.boot のライブラリのバージョンが 1.2.3.RELEASE になっていることを、org.springframework のライブラリのバージョンが 4.1.6.RELEASE になっていることを確認します。
IntelliJ IDEA のメインメニューから「Build」-「Rebuild Project」メニューを選択して実行し、モジュールをコンパイルし直します。
「Run 'Tests in 'ksbysample...' with Coverage」を選択してテストを実行し、テストが全て成功することを確認します。
Gradle tasks View から build タスクを実行し BUILD SUCCESSFUL が表示されることも確認します。
Gradle tasks View から bootRun タスクを実行して Tomcat を起動した後、ブラウザから画面の動作に問題がないか確認します。確認後、Run View で Ctrl+F2 を押して Tomcat を停止します。
Java SE 8u40 へのバージョンアップ
※Java SE 8u40 は以前 JDK 8u40 + Spring Loaded 1.2.1 でエラーログが出力される の確認をした際に C:\Java\jdk1.8.0_40 へインストールしました。インストール手順は省略します。
まずは Project で使用する Java SE を 8u40 へ変更します。IntelliJ IDEA のメインメニューから「File」-「Project Structure...」メニューを選択します。
「Project Structure」ダイアログが表示されます。画面左側で「Project Settings」-「Project」を選択した後、画面右側の「Project SDK」の中の「New...」ボタンをクリックします。
「New...」ボタンの下に「Set up Project SDK」メニューが表示されますので、「JDK」メニューを選択します。
「Select Home Directory for JDK」ダイアログが表示されます。C:\Java\jdk1.8.0_40 を選択した後「OK」ボタンをクリックします。
「Project SDK」のドロップダウンリストで java version "1.8.0_40" が選択されていることを確認した後「OK」ボタンをクリックします。
Spring Loaded 1.2.3 へのバージョンアップ
build.gradle を リンク先のその2の内容 に変更します。
Gradle tasks View の左上にある「Refresh Gradle projects」アイコンをクリックして、変更した build.gradle の内容を反映します。
Gradle tasks View から bootRun タスクを実行して、例外が発生せずに "Started Application in ..." のログが最後に出て Tomcat が正常に起動することを確認します。
ブラウザから画面の動作に問題がないか確認します。
Spring Loaded が正常に動作するか確認します。src/main/java/ksbysample/webapp/basic/web の下の LoginController.java を リンク先の内容 に変更します。
Ctrl+F9 でコンパイルした後ログイン画面を表示し、"★★★ LoginController::index が呼び出されました" のログが表示されることを確認します。確認後、LoginController.java を元に戻します。
Run View で Ctrl+F2 を押して Tomcat を停止します。
「Run 'Tests in 'ksbysample...' with Coverage」を選択してテストを実行し、テストが全て成功することを確認します。
Gradle tasks View から build タスクを実行し BUILD SUCCESSFUL が表示されることも確認します。
webapp_startup.bat の修正
webapps/ksbysample-webapp-basic/bat の下の webapp_startup.bat を リンク先の内容 に変更します。
webapp_startup.bat を C:\webapps\ksbysample-webapp-basic\bat の下へコピーします。
Gradle tasks View から clean タスク → build タスクを実行して jar ファイルを作成し直した後、jar ファイルを C:\webapps\ksbysample-webapp-basic\lib
コマンドプロンプトを起動して以下のコマンドを実行します。
> cd /d C:\webapps\ksbysample-webapp-basic\bat
> webapp_startup.batブラウザから画面の動作に問題がないか確認します。確認後 Ctrl+C を押して Tomcat を停止した後、コマンドプロンプトを閉じます。
commit、GitHub へ Push、1.0.x-upgrade-springboot-1.2.3 -> 1.0.x へ Pull Request、1.0.x でマージ、1.0.x-upgrade-springboot-1.2.3 ブランチを削除
- commit、GitHub へ Push、1.0.x-upgrade-springboot-1.2.3 -> 1.0.x へ Pull Request、1.0.x でマージ、1.0.x-upgrade-springboot-1.2.3 ブランチを削除、をします。
ソースコード
build.gradle
■その1
buildscript { repositories { jcenter() } dependencies { classpath("org.springframework.boot:spring-boot-gradle-plugin:1.2.3.RELEASE") classpath("org.springframework:springloaded:1.2.1.RELEASE") } }
classpath("org.springframework.boot:spring-boot-gradle-plugin:1.2.2.RELEASE")
→classpath("org.springframework.boot:spring-boot-gradle-plugin:1.2.3.RELEASE")
へ変更します。
■その2
buildscript { repositories { jcenter() maven { url "http://repo.spring.io/repo/" } } dependencies { classpath("org.springframework.boot:spring-boot-gradle-plugin:1.2.3.RELEASE") classpath("org.springframework:springloaded:1.2.3.RELEASE") } }
- Spring Loaded はまだ jcenter にアップロードされていないので、repo.spring.io から取得します。
maven { url "http://repo.spring.io/repo/" }
を追加します。 classpath("org.springframework:springloaded:1.2.1.RELEASE")
→classpath("org.springframework:springloaded:1.2.3.RELEASE")
へ変更します。
LoginController.java
@RequestMapping("/") public String index() { System.out.println("★★★ LoginController::index が呼び出されました"); return "login"; }
System.out.println("★★★ LoginController::index が呼び出されました");
を追加します。
webapp_startup.bat
@echo on setlocal set JAVA_HOME=C:\Java\jdk1.8.0_40 set PATH=%JAVA_HOME%\bin;%PATH% set WEBAPP_HOME=C:\webapps\ksbysample-webapp-basic set WEBAPP_JAR=ksbysample-webapp-basic-0.0.1-SNAPSHOT.jar cd /d %WEBAPP_HOME% java -server ^ -Xms1024m -Xmx1024m ^ -XX:MaxMetaspaceSize=384m ^ -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled ^ -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=75 ^ -XX:+ScavengeBeforeFullGC -XX:+CMSScavengeBeforeRemark ^ -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps ^ -Xloggc:%WEBAPP_HOME%/logs/gc.log ^ -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=10M ^ -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=%WEBAPP_HOME%/logs/`date`.hprof ^ -XX:ErrorFile=%WEBAPP_HOME%/logs/hs_err_pid_%p.log ^ -Dsun.net.inetaddr.ttl=100 ^ -Dspring.profiles.active=product ^ -jar lib\%WEBAPP_JAR%
set JAVA_HOME=C:\Java\jdk1.8.0_25
→set JAVA_HOME=C:\Java\jdk1.8.0_40
へ変更します。
履歴
2015/04/02
初版発行。