macOSでbashからzshに移行したらSDKMANで入れたJDKが見つからなかった時の対策
bashからzshへ
macOS Catalinaからデフォルトのシェルがbashからzshに変更されました。
僕はHomebrewで別途bashをインストールしていたので、OSアップデートをしてもbashから変更されませんでした。
ただ、物は試しだと思い、マニュアルでzshに変更してみました。
Javaが無いだと!?
しかし、そうするとMavenとか使ったときにJavaが無いよとか言われます。
エラーメッセージ
$ mvn clean package
Unable to find any JVMs matching version "(null)".
No Java runtime present, try --request to install.
No Java runtime present, requesting install.
ダイアログでも「"java"コマンドラインツールを使用するには、JDKをインストールする必要があります」と言われます。
JDKは、bashを使っていた頃にSDKMANを使って入れています。bashのころは問題なく使えていました。
対策
bashのときにSDKMANをインストールした際、~/.bash_profileの最後尾に下記の記述が追加されています。
~/.bash_profile
#THIS MUST BE AT THE END OF THE FILE FOR SDKMAN TO WORK!!!
export SDKMAN_DIR="/Users/ユーザー名/.sdkman"
[[ -s "/Users/ユーザー名/.sdkman/bin/sdkman-init.sh" ]] && source "/Users/ユーザー名/.sdkman/bin/sdkman-init.sh"
ユーザー名
の部分は、ご自分のユーザー名に置き換えてください
この記述をコピーして~/.zshrcの最後尾に追加すると、問題が解消されました!
Author And Source
この問題について(macOSでbashからzshに移行したらSDKMANで入れたJDKが見つからなかった時の対策), 我々は、より多くの情報をここで見つけました https://qiita.com/suke_masa/items/e853470a425572f34221著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .