Java11を開発で使用することになり、以下ミッションに遭遇しました。
####ミッション内容
OpenJDK サイトからダウンロードする場合
Archived OpenJDK から OpenJDK 11 アーカイブをダウンロード。
ダウンロードした openjdk-11.0.2_osx-x64_bin.tar.gz を展開し、
環境変数 JAVA_HOME に jdk-11.jdk/Contents/Home/ を設定し、
環境変数 PATH に $JAVA_HOME/bin へのパスを通してください。
なんのこっちゃ状態。
パスを通すなどは数年前にJavaで開発していた頃にやっていたはずなのですが、苦労した記憶しかない。。
まずは書かれている通り、
Archived OpenJDK から OpenJDK 11 アーカイブをダウンロード。
ダウンロードフォルダにあるtarファイルを解凍し、移動しました
$ cd /Users/hoge/Downloads
$ $ sudo mv jdk-11.0.2.jdk /Library/Java/JavaVirtualMachines/
java_homeに追加されたことを確認
$ /usr/libexec/java_home -V
Matching Java Virtual Machines (6):
11.0.2, x86_64: "OpenJDK 11.0.2" /Library/Java/JavaVirtualMachines/jdk-11.0.2.jdk/Contents/Home
1.8.0_171, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home
1.8.0_31, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home
1.8.0_05, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home
1.7.0_75, x86_64: "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_75.jdk/Contents/Home
1.7.0_21, x86_64: "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_21.jdk/Contents/Home
以下を参考にパスを通しました(ありがとうございます)。
私は11を使用するので11に読み替えました。
https://style.potepan.com/articles/18810.html
$ export PATH=$PATH:Library/Java/JavaVirtualMachines/jdk-11.0.2.jdk/Contents/Home
$ export JAVA_HOME=`/usr/libexec/java_home -v 11.0.2`
よーしこれでOK!と思いきや
$ java -version
java version "1.8.0_171"
java -versionが変わっていないぞ。
・
・
・
ここから何度もパスを通したりしてはまったのですが、
source ~/.bash_profile
で有効化しているつもりが、~/.bash_profileの中身が変わっていなかったので
元に戻っていたのでした。
気を取り直して
vi ~/.bash_profile
~/.bash_profileのJAVA_HOMEをjdk-11.0.2.jdkのパスで更新し、
export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk-11.0.2.jdk/Contents/Home"
以下で有効化
source ~/.bash_profile
見事、java11になっていることを確認!
$ java -version
openjdk version "11.0.2" 2019-01-15
OpenJDK Runtime Environment 18.9 (build 11.0.2+9)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode)
2時間くらいはまりました。
忘れないようメモ。