Eclipse JRE Settings on Mac
MacでEclipseでJava開発するときのランタイム設定(JDK, JRE)をどうやっていたかのメモ。これもいつも忘れる。Mac買い換えるたびに似たようなことで四苦八苦する。
# 環境
macOS High Sierra (10.13.6)
MacBook Pro 2017
システム実行時にはJavaライブラリはここを参照して実行される。
/usr/bin/java
/usr/bin/javac
これはシンボリックリンクになっていてそれぞれこっちを見ている
/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/javac
/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java
sdkmanを使用してインストールしたjavaライブラリはここに置かれる
/Users/<username>/.sdkman/candidates/java/current/bin/javac javac
/Users/<username>/.sdkman/candidates/java/current/bin/javac java
だから、sdkmanでインストールしたライブラリを使用するならば、/usr/bin配下のシンボリックリンクを書き換える必要がある
ところが、El Capitan以降のSIP(System Integrity Protection)でroot権限でもシンボリックリンクの書き換えができない!
https://qiita.com/iwaseasahi/items/9d2e29b02df5cce7285d
でもこの方法は避けたい。
そうだ、Eclipse上でパスを直接設定してしまおう。
Eclipseの環境設定から、Java -> Installed JREsと選択、AddボタンでJREを追加する。
JRE Type : MacOSX VM
JRE Home : /Users/{username}/.sdkman/candidates/java/{versionname}/jre
ここで、JRE Homeは直打ちしてしまう
これでシンボリックリンクもいらないしすべてOKなはずだ。
しかしここで別の問題が。
コード入力時にコード補完がされない(入力候補が出てこない)!
これはMacのショートカットキーの設定で変更する。
コントロール + スペース (^space)
がなんと日本語入力ソースの選択に使われていた。自分で設定したのか覚えていない。とりあえずショートカットキー設定のチェックを外す。
Eclipseで適当なJavaコードを編集すると、コード補完が出てきた。
一件落着だが、なんだこの徒労感は。疲れた。
http://d.hatena.ne.jp/ux00ff/20130128/1359332210
どうもMacのデフォルト設定でコントロール + スペース
は使われているらしい…