AdoptOpenJDK を 11.0.6+10 → 11.0.7+10.2 へ、IntelliJ IDEA を 2019.3.4 → 2020.1.1 へ、Git for Windows を 2.26.0 → 2.26.2 へバージョンアップ
AdoptOpenJDK を 11.0.6+10 → 11.0.7+10.2 へバージョンアップする
※ksbysample-webapp-lending プロジェクトを開いた状態でバージョンアップしています。
https://adoptopenjdk.net/?variant=openjdk11&jvmVariant=hotspot を見ると 11.0.7+10.2 がダウンロードできるようになっていましたので、11.0.7+10.2 へバージョンアップします。
インストール時に削除されるかもしれないので D:\Java\jdk-11.0.6+10 → D:\Java\jdk-11.0.6+10x にリネームします。
OpenJDK11U-jdk_x64_windows_hotspot_11.0.7_10.msi をダウンロードして D:\Java\jdk-11.0.7.10-hotspot へインストールした後、環境変数 JAVA_HOME のパスを D:\Java\jdk-11.0.7.10-hotspot へ変更します。
コマンドプロンプトから
java -version
を実行し、11.0.7
に変更されていることを確認します。ダイアログ下部の「Configure」-「Structure for New Projects」を選択します。
「Project Structure for New Projects」ダイアログが表示されます。画面左側で「Project Settings」-「Project」を選択後、画面右側の「Project SDK」の「New...」ボタンをクリックし、表示されるメニューから「JDK」を選択します。
「Select Home Directory for JDK」ダイアログが表示されます。D:\Java\jdk-11.0.7.10-hotspot を選択した後、「OK」ボタンをクリックします。
「Default Project Structure」ダイアログに戻るので、今度は「Project SDK」の「Edit」ボタンをクリックします。
画面左側で「Platform Settings」-「SDKs」が選択された状態になるので、画面右上の入力フィールドで "11" → "11.0.7.10" へ変更します。
次に中央のリストから「11.0.6+10」を選択した後、リストの上の「-」ボタンをクリックして削除します。
「OK」ボタンをクリックして「Project Structure for New Projects」ダイアログを閉じます。
「Welcome to IntelliJ IDEA」ダイアログに戻ったら、ksbysample-webapp-lending プロジェクトを開きます。
IntelliJ IDEA のメイン画面が開いたら、メニューから「File」-「Project Structure...」を選択します。
「Project Structure」ダイアログが表示されます。以下の画像の状態になっているので、
「Project SDK」を選択し直します。「Project SDK」を「11.0.7.10」に変更すると「Project language level」も自動で「SDK default (11 - Local variable syntax for lambda param」が選択されました。
「OK」ボタンをクリックして「Project Structure」ダイアログを閉じます。
メイン画面に戻ると画面右下に「Indexing...」の表示が出るので、終了するまで待ちます。
Gradle Tool Window の左上にある「Refresh all Gradle projects」ボタンをクリックして更新します。
clean タスク実行 → Rebuild Project 実行 → build タスクを実行して、"BUILD SUCCESSFUL" のメッセージが出力されることを確認します。
Project Tool Window で src/test でコンテキストメニューを表示して「Run 'All Tests' with Coverage」を選択し、テストが全て成功することを確認します。
特に問題は発生しませんでした。11.0.7+10.2 で開発を進めます。
IntelliJ IDEA を 2019.3.4 → 2020.1.1 へバージョンアップする
IntelliJ IDEA の 2020.1.1 がリリースされているのでバージョンアップします。
- IntelliJ IDEA 2020.1: Java 14, dataflow analysis assistance in the debugger, LightEdit mode, and more!
https://blog.jetbrains.com/idea/2020/04/intellij-idea-2020-1-released/ - What’s New in IntelliJ IDEA 2020.1
https://www.jetbrains.com/idea/whatsnew/ - IntelliJ IDEA 2020.1.1 is Available!
https://blog.jetbrains.com/idea/2020/04/intellij-idea-2020-1-1/
※ksbysample-webapp-lending プロジェクトを開いた状態でバージョンアップしています。
IntelliJ IDEA のメインメニューから「Help」-「Check for Updates...」を選択します。
「IDE and Plugin Updates」ダイアログが表示されます。左下に「Update and Restart」ボタンが表示されていますので、「Update and Restart」ボタンをクリックします。
Plugin の update も表示されました。このまま「Update and Restart」ボタンをクリックします。
Patch がダウンロードされて IntelliJ IDEA が再起動します。
IntelliJ IDEA が起動すると画面下部に「Indexing…」のメッセージが表示されますので、終了するまで待機します。
IntelliJ IDEA のメインメニューから「Help」-「About」を選択し、2020.1.1 へバージョンアップされていることを確認します。
Gradle Tool Window の左上にある「Refresh all Gradle projects」ボタンをクリックして更新します。
clean タスク実行 → Rebuild Project 実行 → build タスクを実行して、"BUILD SUCCESSFUL" のメッセージが出力されることを確認します。
Project Tool Window で src/test でコンテキストメニューを表示して「Run 'All Tests' with Coverage」を選択し、テストが全て成功することを確認します。。。が、@SpringBootTest アノテーションを付与しているテストが失敗しました。
エラーメッセージは以下のものが出力されています。
java.lang.IllegalStateException: Failed to load ApplicationContext
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'flywayInitializer' defined in class path resource [org/springframework/boot/autoconfigure/flyway/FlywayAutoConfiguration$FlywayConfiguration.class]: Invocation of init method failed; nested exception is java.lang.AbstractMethodError: Receiver class org.postgresql.jdbc3.Jdbc3Connection does not define or inherit an implementation of the resolved method 'abstract boolean isValid(int)' of interface java.sql.Connection.
Caused by: java.lang.AbstractMethodError: Receiver class org.postgresql.jdbc3.Jdbc3Connection does not define or inherit an implementation of the resolved method 'abstract boolean isValid(int)' of interface java.sql.Connection.
今ひとつ原因が分からなかったので、メインメニューから「File」-「Invalidate Caches / Restart ...」を選択して「Invalidate Caches」ダイアログを表示し「Invalidate and Restart」ボタンを押してみましたが全く状況は変わらず。。。
Web で検索してみたところ java.lang.AbstractMethodError: org.postgresql.jdbc3.Jdbc3Connection.isValid(I)Z を見つけました。これによると org.postgresql.jdbc3.Jdbc3Connection が classpath に含まれているのが原因らしい。
Shiftキーを2回押して検索してみると確かにクラスが存在します。
モジュールを調べると
postgresql:postgresql:8.4-701.jdbc3
の中にあり、このモジュールを依存関係に含んでいるモジュールを
gradlew dependencies
コマンドで調べたところorg.dbunit:dbunit:2.6.0
が原因でした。build.gradle で
testImplementation("org.dbunit:dbunit:2.6.0")
→testImplementation("org.dbunit:dbunit:2.6.0") { exclude group: "postgresql", module: "postgresql" }
に変更してpostgresql:postgresql:8.4-701.jdbc3
が除外されるようにします。Gradle Tool Window の左上にある「Refresh all Gradle projects」ボタンをクリックして更新から、Project Tool Window で src/test でコンテキストメニューを表示して「Run 'All Tests' with Coverage」を選択するとテストが全て成功することを確認できました。
最後にメジャーバージョンアップなので以前のバージョンの C:\Users\root.IntelliJIdea2019.3 を削除します。が、今回は .IntelliJIdea2020.1 というフォルダが作成されていません。
検索してみたところ C:\Users\root\AppData\Local\JetBrains\IntelliJIdea2020.1 に作成されていました。こんな見えないところにフォルダを作って、今度メジャーバージョンアップした時には自動で旧バージョンのフォルダを削除してくれるのかが心配です(2~3GB 使用するフォルダなのでメジャーバージョンアップ時は削除したい)
※ディレクトリの説明を見つけたのでメモ書きしておきます。 IntelliJ IDEA 2020.1 - Default IDE directories
https://www.jetbrains.com/help/idea/2020.1/tuning-the-ide.html#default-dirs
Git for Windows を 2.26.0 → 2.26.2 へバージョンアップする
Git for Windows の 2.26.2 がリリースされていたのでバージョンアップします。
https://gitforwindows.org/ の「Download」ボタンをクリックして Git-2.26.2-64-bit.exe をダウンロードします。
Git-2.26.2-64-bit.exe を実行します。
「Git 2.26.2 Setup」ダイアログが表示されます。インストーラーの画面を一通り見たいので「Only show new options」のチェックを外してから [Next >] ボタンをクリックします。
「Select Components」画面が表示されます。「Git LFS(Large File Support)」だけチェックした状態で [Next >]ボタンをクリックします。
「Choosing the default editor used by Git」画面が表示されます。「Use Vim (the ubiquitous text editor) as Git's default editor」が選択された状態で [Next >]ボタンをクリックします。
「Adjusting your PATH environment」画面が表示されます。中央の「Git from the command line and also from 3rd-party software」が選択されていることを確認後、[Next >]ボタンをクリックします。
「Choosing HTTPS transport backend」画面が表示されます。「Use the OpenSSL library」が選択されていることを確認後、[Next >]ボタンをクリックします。
「Configuring the line ending conversions」画面が表示されます。一番上の「Checkout Windows-style, commit Unix-style line endings」が選択されていることを確認した後、[Next >]ボタンをクリックします。
「Configuring the terminal emulator to use with Git Bash」画面が表示されます。「Use Windows'default console window」が選択されていることを確認した後、[Next >]ボタンをクリックします。
「Configuring extra options」画面が表示されます。「Enable file system caching」だけがチェックされていることを確認した後、[Install]ボタンをクリックします。
インストールが完了すると「Completing the Git Setup Wizard」のメッセージが表示された画面が表示されます。中央の「View Release Notes」のチェックを外した後、[Next >]ボタンをクリックしてインストーラーを終了します。
コマンドプロンプトを起動して
git --version
を実行し、git のバージョンがgit version 2.26.2.windows.1
になっていることを確認します。特に問題はないようですので、2.26.2 で作業を進めたいと思います。