エラー「JAVA_HOME is not set and no 'java' command could be found in your PATH.」を解決するの?|Windows|Android|Flutter


最近になって、Flutter がビルド時に、以下のエラーを吐き出すようになったんだけど…。

---
ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.

Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.
---

環境変数に「JAVA_HOME」が設定されていないし、「java」コマンドが実行できないよ~という警告だな。

ん~おかしいな。Flutter はデフォルトで Android Studio が内包している JDK を参照していたはずなのに。Android Studio の更新(Electric Eel)で、仕様が変更になったのかもしれないね?


JAVA_HOME は本当に設定されていないの?

コマンド プロンプト」を使って「JAVA_HOME」が本当に設定されていないか確認してみる。以下を実行しよう。

C:\>set JAVA_HOME

これで参照先が表示されたら、既に「JAVA_HOME」の設定はできている。設定されていないと何も表示されない。Flutter で本件のエラーが出るなら、「JAVA_HOME」は設定されていないはずだよ。


Android Studio 内包の JDK ってどこにあるの?

Android Studio が内包している JDK は「C:\(任意)\Android Studio\jbr」にあるから、「JAVA_HOME」はここを参照先に設定しないとならない。


システム環境変数の直し方

「JAVA_HOME」を認識させる為には「システム環境変数」に次の手順で参照先を追加する必要がある。まず、Windows の「設定」を開いたら「環境変数」と入力して検索しよう。

そうしたら「システム環境変数の編集」を選択する。以下のような「システムのプロパティ」が表示される。


環境変数(N)...」をクリックしよう。以下が表示される(個人情報の為、海苔で修正済み)。


システム環境変数(S)」の「新規(W)...」をクリックすると、以下「新しいシステム変数」が表示される。


「変数名(N)」には「JAVA_HOME」と入力して、「変数値(V)」には参照先である「C:\(任意)\Android Studio\jbr」と入力しよう。「OK」をクリックして「JAVA_HOME」の設定は完了だ。


次に「システム環境変数(S)」の「変数」一覧から「Path」を探し出して、それを選択した状態で「編集(I)...」をクリックする。以下「環境変数名の編集」が表示される(個人情報の為、海苔で修正済み)。


新規(N)」をクリックしたら、小さな入力ボックスが表示されるので、そこに「%JAVA_HOME%\bin」と入力する。「OK」をクリックすれば完了、これで「java」コマンドが実行できるようになった。


じゃあ、確認してみる。「コマンド プロンプト」を再起動(必須)して、

C:\>set JAVA_HOME

と入力しよう。設定した「C:\(任意)\Android Studio\jbr」が表示されるはずだ。さらに、

C:\>java

と入力すると「java」コマンドが実行できたはずだ。以下のように出力される。

もし「コマンド プロンプト」を再起動しても表示されなかった場合は、Windows を再起動しないとダメかもしれない。


参考


直近に読んでいた漫画(おすすめ)

コメント

このブログの人気の投稿

ImagePicker を操作すると「Lost connection to device.」とだけ言い残して強制終了するの?|iOS|Flutter

Android SDK バージョン(コンパイルに使用する Android API レベル)を変更するの?|compileSdkVersion|SDK|Android|Flutter