JAVA_HOME is not defined correctlyとエラーが出てきたときの解決方法を、自分の勉強用にメモを残しておきたいと思います。
目次
私のプログラミングスキルや環境と状況について
私のプログラミングスキルのレベル
- Javaを少しだけ知っている初心者
- eclipseもまともに使えない
- フレームワークやツールなどについてはさっぱり
- GitもMavenも初めて
- 英語のドキュメントは翻訳アプリがなければ読めない
環境と状況
- 環境は、Windows10
- 状況は、勉強のためにGitから持ってきたプロジェクトをローカルで動かそうと以下のコマンドを打った
git clone <URL>
cd spring-petclinic
./mvnw spring-boot:run
JAVA_HOME is not defined correctlyとエラーが出てきたときの解決方法
参考にしたサイトは上記のコマンドを打てば、ロカールで動くという記述しかなかったので簡単に動くと思っていたのですが……
JAVA_HOME is not defined correctly.
We cannot execute <~~\pleiades\java\8\bin\bin\java.exe>
というエラーが出てきて困りました。
以下、解決したときの手順のメモ。
- JAVA_HOMEの環境変数は設定していたはずなので、エラーに書かれていたパスと環境変数を見比べてみたところ、一致していない。
- 環境変数をエラーに書かれていたパスに合わせるように設定し直して、もう一度試してみたけど上手くいかない。
- Mavenのことはわからないけれど、cd で移動した先のディレクトリにあるコマンドを動かしているのだから、mvnw.cmdをテキストエディタで開けて、JAVA_HOMEで検索してみる。
- SET MAVEN_JAVA_EXE=”%JAVA_HOME%\bin\java.exe”と書かれているの発見。
- エラーに出てきていたパスはJAVA_HOMEと書かれていたのに、”\bin\java.exe”を結合したものだったのかとここに来てようやくさとる。
- 環境変数から”\bin”を取り除いて、もう一度試したら、動いてくれました。
JAVA_HOME is not defined correctlyと書かれていたとおり、環境変数の設定がよくなかったというだけのエラーでした。
mvnw.cmdを私では読解できないのですが、なんとなく環境変数に<~~\bin\java.exe>とexeまで設定されていたらそのパスを使って、そうじゃなかったら”\bin\java.exe”を付け足したパスを使うというようにコマンドには書かれていたのかなと思いました。