##目標
MacBook AirにJEnvをインストールしてJavaのバージョン管理をする
Linux初心者です。諸般の事情によりMacを使うことになったのでいろいろやってみてます
正直、Macでは色々とできるらしいが、やり方がよくわからない。
なので、ちょっとずつでも自分の使いやすいようにしていく予定です
##参考にさせて頂いたページ
OSXのjenvでjavaのバージョン管理
Mac に jenv を利用して Java の開発環境を作る
【オラクルの呪い】「jenv」を使ってJavaのバージョンをコマンド一つで切り替えよう【Homebrew/anyenv】
【Mac】HomebrewでJavaをインストールする
##準備
-
macOS Mojave v10.14.6
-
Homebrew 2.1.10
-
Macメモ
- Deleteボタンがないので、前方削除は fn+⇦(バックスペース)キー
###Homebrewの設定
- caskroom/versionsをtapする
- "tapする"というのは、この場合Homebrewがサーチする場所(リポジトリ)を追加するという意味らしい
- なので、"caskroom/versions"をtapする事によってバージョンを指定してパッケージをインストールできるようになるらしい
- ものによっては複数のリポジトリに同一のアプリなりがあったりするので注意が必要みたい
$ brew tap caskroom/versions
- HomebrewにTapされているものを確認。私のHomebrewには以下の4つがtapされてま
$ brew tap
caskroom/cask
caskroom/versions
homebrew/cask
homebrew/core
- "caskroom/cask"は以前の投稿でtapした覚えがある
###JEnvのインストール
- JEnvはJavaの環境管理ツールで複数のバージョンをPC全体(Global)やディレクトリ単位(local)で切り替えができるツールらしい
- せっかなのでHomebrewでインストールしたいので、探す
$ brew search jenv
==> Formulae
jenv
- 発見
- インストールする
$ brew install jenv
- ちゃんとインストールできたか確認
$ jenv --version
jenv 0.5.2
- JEnvの設定をします
- 以下のコマンドを1行ずつ実行する
- ターミナルを起動した時にいる場所(ホーム)のディレクトリにある".bash_profile"というファイルにJEnvへのパス情報を追加している。。。たぶん
echo 'export PATH="$HONE/.jenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(jenv init -)"' >> ~/.bash_profile
- 環境によっては".bash_profile"が無い場合があるので、その場合は以前の投稿を参考にして作成
- ".bash_profile"の中を確認
$ cat .bash_profile
...
...
export PATH="$HONE/.jenv/bin:$PATH"
eval "$(jenv init -)"
- ちゃんと追加されてる
###JDKのインストール
- 当然Homebrewでインストールいたしので、探す
$ brew search java
==> Formulae
app-engine-java javarepl libreadline-java
google-java-format jslint4java
==> Casks
charles-applejava netbeans-java-ee
eclipse-java netbeans-java-ee
eclipse-java netbeans-java-se
eclipse-javascript netbeans-java-se
eclipse-javascript oracle-jdk-javadoc
java oracle-jdk-javadoc
java yourkit-java-profiler
java-beta yourkit-java-profiler
java11 homebrew/cask-versions/java-beta
- "jdk"でも探してみる
$ brew search jdk
==> Casks
adoptopenjdk oracle-jdk oracle-jdk-javadoc
adoptopenjdk oracle-jdk sapmachine-jdk
adoptopenjdk8 oracle-jdk-javadoc sapmachine-jdk
- 。。。。。どれを入れて良いかわからん。
- とりあえず新しいのを入れたいし、オ○クルは避けたい
- adoptopenjdkにしよう
- AdoptOpenJDKにはIBM、Microsoft、Azul、Amazon、jClarity とかの名前のあるし
- とりあえず、最新のものをインストールしてみる
$ brew cask install adoptopenjdk
...
...
==> Caveats
More versions are available in the AdoptOpenJDK tap:
https://github.com/AdoptOpenJDK/homebrew-openjdk
brew tap adoptopenjdk/openjdk
....
....
==> Installing Cask adoptopenjdk
==> Moving Generic Artifact 'jdk-12.0.2+10' to '/Library/Java/JavaVirtualMachine
Password:
🍺 adoptopenjdk was successfully installed!
- バスワードを聞かれるので、PCのログインパスワードを入力て完了
- インストール途中で"adoptopenjdk/openjdk"をHomebrewにtapすると他のバージョンものあるよ と宣伝されてるけど、今回はあとまわし
- ちゃんとインストールされたか確認
$ java --version
openjdk 12.0.2 2019-07-16
OpenJDK Runtime Environment AdoptOpenJDK (build 12.0.2+10)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 12.0.2+10, mixed mode, sharing)
- JDKのバージョン12がインストールされたらしい
###JEnvとJAVAの関連付け
- インストールされたJDKの情報を確認
$ /usr/libexec/java_home -V
Matching Java Virtual Machines (1):
12.0.2, x86_64: "OpenJDK 12.0.2" /Library/Java/JavaVirtualMachines/adoptopenjdk-12.0.2.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/adoptopenjdk-12.0.2.jdk/Contents/Home
- バージョンとインストールされている場所のパスが表示されるので、パスをコピー
- 要は
(ルート)/Library/Java/JavaVirtualMachines/adoptopenjdk-12.0.2.jdk/Contents/Home
にインストールされたよ。という事だ - JEnvにこの"OpenJDK 12.0.2"を登録する
- 上記でコピーしておいたパスを"add" して登録
$ jenv add /Library/Java/JavaVirtualMachines/adoptopenjdk-12.0.2.jdk/Contents/Home
openjdk64-12.0.2 added
12.0.2 added
12.0 added
- 登録されたか確認
$ jenv versions
* system (set by /Users/Dice/.jenv/version)
12.0
12.0.2
openjdk64-12.0.2
- あとは別のバージョンのJDKなりを同様の手順で登録していくと切り替えが可能となる
###おまけ
- 上で宣伝されてた"adoptopenjdk/openjdk"をHomebrewにtapして、jdkをサーチしてみた
$ brew tap adoptopenjdk/openjdk
...
...
Tapped 20 casks (83 files, 82.0KB).
- でサーチ
$ brew search jdk
==> Casks
adoptopenjdk ✔ adoptopenjdk8
adoptopenjdk ✔ adoptopenjdk8
adoptopenjdk10 adoptopenjdk8-jre
adoptopenjdk11 adoptopenjdk8-openj9
adoptopenjdk11-jre adoptopenjdk8-openj9-jre
adoptopenjdk11-openj9 adoptopenjdk8-openj9-jre-large
adoptopenjdk11-openj9-jre adoptopenjdk8-openj9-large
adoptopenjdk11-openj9-jre-large adoptopenjdk9
adoptopenjdk11-openj9-large oracle-jdk
adoptopenjdk12 oracle-jdk
adoptopenjdk12-jre oracle-jdk-javadoc
adoptopenjdk12-openj9 oracle-jdk-javadoc
adoptopenjdk12-openj9-jre sapmachine-jdk
adoptopenjdk12-openj9-jre-large sapmachine-jdk
- ぉぉぉぉ 増えてる
- ✔ が付いているのがインストール済みやつらしい
##おわりに
とりあえず、これでJAVA開発はできるという事で。
なかなかコマンドラインでの作業に慣れないので、引き続きいろいろやってみて行こうと思います
Windowsユーザーのみなさんの参考になればと思います。