きっかけ
Spring Webflux を試そうと思ってstartup見ながらやり始めたら、思いのほか詰まったので、記録に残す。
Getting Started · Building a Reactive RESTful Web Service
startupだと、15分でできるよってあったけど、環境問題に詰まったから、倍の時間かかってしまったぜ。。。
環境
OS:windows10
その他の情報を載せちゃうと、本題と被るのでスルー
内容
発生したタイミングは、ビルド時。
./gradlew bootRun
を実行したときに、発生した。
とりあえず、エラーメッセージの内容が分からなかったので、Google翻訳
'11 .0.2'からJavaのバージョンを特定できませんでした。
最初、見たとき、意味がわからなかったわ。。。
11.0.2がJavaのバージョンなんじゃないの?って思った。
いろんなサイト見てると、Javaとgradleのバージョン不一致で出ているようだった。
自分のところでは、以下だった。
Java:11.0.2 gradle:5.4
そんでもって、Spring Webfluxのサンプルが要求していたもの。
java:1.8 gradle:4.6 //gradle-wrapper.propertiesを参照して推測
なので、求められている環境に合わせる。
javaは、環境変数を変更。
gradleは、sdkmanで変える。
そしたら、エラーは解消。
無事、ビルドできて実行できましたとさ。
Could not determine java version from '11.0.2'.
の文章の意味が分からなかったが、たぶん、java11.0.2を使えるgradleのバージョンが判定できなかったという意味だろうと妄想している。
結論
javaかgradle、もしくは、両方、バージョン不一致で起こる。
ドキュメント確認して、環境を合わせれば、解決できる。
雑記
sdkman、かなりいい。
環境を切り替えるのがものすごく楽。
今回は、gradleのバージョンを変えるのに役立った。
ダウンロードからインストール、バージョン切り替えまで簡単にできるのは、魅力的だと思う。