プログラマーの調べ物

プログラマーが調べ物をするときに役に立つサイトを作ります。

Homebrewを使って、Mac環境にJDK7,JDK8をインストールする

JBoss5をインストールして、稼働させることを目的としているのですが、まずはJDKのインストールが必要です。 僕のMac環境にJDKをインストールするところから始めます。

まずJBossを動かすためには、JRE(Java Runtime Environment)が動作する環境が必要となっています。 JBoss5以前のバージョンでは、JDK(Java Development Kit)環境が必須でした。 JSPファイルを実行環境で動的にコンパイルするためにはコンパイラが必要で、JREにはコンパイラが含まれていないからです。

JDKJREの違いについては、こちらの記事が参考になります。 http://qiita.com/chkkchy/items/3a4594645b3aef7a98b7

JBoss AS 5はEclipse JDTというライブラリを含んでいるので、稼働中にJavaのコードをコンパイルすることができるようになりました。 だから、JDKがなくとも、JREがあれば稼働させることができるようになりました。 とはいえ、JDKにはJREが含まれているため、JDKを入れておけば安心とは思いますが。

JDKをインストールする

以下のサイトを参考にします。

http://davidcai.github.io/blog/posts/install-multiple-jdk-on-mac/

brew update
brew tap caskroom/cask
brew install brew-cask

brew tapとは、公式以外のリポジトリをフォーミュラとしてHomebrewに追加するもので、brewのもとでinstall,uninstall,updateなどが行えます。

ちなみに、2016年11月現在、brew install brew-caskを実行すると、以下のようなエラーが発生します。

Error: No available formula with the name "brew-cask" 
==> Searching for similarly named formulae...
Error: No similarly named formulae found.
==> Searching taps...
This formula was found in a tap:
homebrew/completions/brew-cask-completion
To install it, run:
  brew install homebrew/completions/brew-cask-completion

コメントに従って、brew install homebrew/completions/brew-cask-completionを実行すると、無事にcaskがインストールできました。

Stackoverflowの民がJava8をインストールする前にJava7をインストールせよ、と言っているそうなので、まずJava7をインストールします。

brew tap caskroom/versions
brew cask info java7

brew cask info java7の結果を見て、Java7がインストールされていない場合。

以下のコマンドで、Java7をインストールします。

brew cask install java7

次に、最新版のJava8をインストールします。

brew cask install java

JDKは以下のディレクトリにインストールされます。

/Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/

次に、jEnvをインストールしておきましょう。 jEnvとは、Javaの環境設定を助けてくれるツールです。 http://www.jenv.be/

jEnv is a command line tool to help you forget how to set the JAVA_HOME environment variable

~/.bash_profileにjEnvの初期化設定を追記します。

# Init jenv
if which jenv > /dev/null; then eval "$(jenv init -)"; fi

source ~/.bash_profileで.bash_profileの情報を取り込んだ後、jEnvにJDKの情報を追加します。

jenv add /Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home
jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/

登録されているJDKを確認します。

$ jenv versions
* system (set by /Users/hoge/.jenv/version)
  1.7
  1.7.0.80
  1.8
  1.8.0.112
  oracle64-1.7.0.80
  oracle64-1.8.0.112

Java7をデフォルトのバージョンとしたい場合は、以下のコマンドを実行します。

jenv global oracle64-1.7.0.80

そのプロジェクトに限り、別のJDKのバージョンを適用したい場合。

jenv local oracle64-1.8.0.112

以上で、Javaの開発を行う環境が整いました。