IntelliJ: Could not determine Java version using executable ...
macbookのロジックボードが壊れて修理に出したため、開発環境がすべて消え去ってしまった。
IntelliJでJavaを書くための環境を再セットアップしようとしたところ、gradleのバージョン問題でちょっとつまづいたのでメモ。
環境
問題
Gradleプロジェクトを作り、その際、gradle wrapperを使うように指定しておく。
すると、以下のようなエラーが出て、ビルドが失敗してしまう。
Could not determine Java version using executable /Library/Java/JavaVirtualMachines/jdk-10.0.1.jdk/Contents/Home/bin/java.
ざっと調べてみると、Javaのバージョニングの変更の影響で、java -version
の出力をgradleがうまく解釈できないことが原因であるらしい。
ではgradleでうまく解釈させることができるか、という問いに対しては「新しいgradleを入れる」ことが解となる。
stackoverflowなどで解決策として示されているのはローカルインストールした新しいgradleを利用するよう設定を変える、というものが多い。
確かにそれで解決するだろうけども、複数人開発してる場合にはgradle wrapperを使いたい。
解決
新しいgradle wrapperを入れる。
gradleをローカルインストールしておく必要はあるが、1回だけやってwrapperをリポジトリに含めてしまえば済む。
$ ls -a ./ ../ .idea/ build.gradle settings.gradle $ gradle wrapper --gradle-version=4.7 --distribution-type=bin BUILD SUCCESSFUL in 1s 1 actionable task: 1 executed $ ls -la ./ .gradle/ build.gradle gradlew* settings.gradle ../ .idea/ gradle/ gradlew.bat
この状態で、IntelliJでプロジェクトのSyncをかければ、無事エラーが消えたことが確認できる。