Kotlinの導入を社内で検討しており、長澤太郎さんの"黒べこ本" を読んでいます。

Kotlin Webアプリケーション 新しいサーバサイドプログラミング
- 作者: 長澤太郎
- 出版社/メーカー: リックテレコム
- 発売日: 2017/10/06
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る
ところが、Intellijの環境構築を黒べこ本よりも前に済ませており、黒べこ本で指定されているのとは違う設定になっていました。
本ではJDK1.8/ Kotin1.1が想定されていますが、現在(2019/01/24)のIntellij IDEAのデフォルトはJDK10/Kotlin1.3のようです。
試行錯誤して動くようになったのでやり方をシェアします。
1. Gradleのディストリビューションのバージョンをあげる
GradleのWrapperではGradleの実行可能バージョンとして3系が指定されていますが、これが内部で呼び出すJavaのバージョンが違うようです。まずはここを5系に合わせます。
旧(gradle/wrapper/gradle-wrapper.properties)
distributionUrl=https\://services.gradle.org/distributions/gradle-3.4.1-all.zip
新(gradle/wrapper/gradle-wrapper.properties)
distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip
参考
エラーメッセージ
Could not determine Java version using executable /Library/Java/JavaVirtualMachines/jdk-10.0.2.jdk/Contents/Home/bin/java.
対策
2. Kotlinのバージョンをあげる
Gradleの5系では、Kotlinのプログラムをビルドする際に利用する kotlin-gradle-plugin
および kotlin-allopen
のバージョンが1.1だと動きません。これを1.3系にあげます。
旧(build.gradle)
buildscript { ext { kotlinVersion = '1.1.3' springBootVersion = '1.5.3.RELEASE' } ...
新(build.gradle)
buildscript { ext { kotlinVersion = '1.3.11' springBootVersion = '1.5.3.RELEASE' } ...
参考
エラーメッセージ
Cause: invalid type code: 2F
まとめ
本の通りに進めないズボラはこういうとこで時間を使いますね。笑
でもGradleのことがちょっと理解できたのでハッピー!