LoginSignup
59
67

More than 5 years have passed since last update.

MacでのJava開発環境構築を通して「PATHを通す」意味を学ぶ

Last updated at Posted at 2017-05-13

PATHを通すということ

プログラム実行時に自動的に検索させるディレクトリを指定することです。

たとえばJDKを配置する時、

windowsだと C:\Java\jdk1.8.0\Home\bin(以下略)
Macだと ~/Library/Java/JavaVirtualachine/jdk1.8.0/Home/bin(以下略)

みたいに同じJDKでもディレクトリに行き着くまでの階層が異なったりします。
そこでこの差異を吸収するために、実行マシン(コンパイラ?)上では上記の太字の部分を$JAVA_HOME$と定義することでどんな環境にも対応できるようにしています。

もちろん何もしていない状態のパソコンでは$JAVA_HOME$なんてものは定義されていないので、環境ごとに設定をしなければなりません。これをPATHを通すと表現します。
PATHの呼び方はパソコン本体(OS単位)ではPATH、JavaではJAVA_HOME、tomcatならCATALINA_HOME、apacheならHTTPD_HOMEなどミドルウェアによって様々です。
ミドルウェアによってはインストール時に自動的にPATHを通してくれますが、Javaはやってくれないので自分でやる必要があります。あるいは特定のフォルダにPATHを通すことで自作ショートカットを配置できたりします。→
Windows使いのプログラマは絶対に仕込んでおくべき最強のランチャー1選

流れ

  1. .bash_profileを開く
  2. PATHとJAVA_HOMEを追記
  3. 適用と確認

ターミナルを使って作業します。

1. .bash_profileを開く

Macでは.bash_profileというファイルにWindowsで言うところの環境変数が記述されています。これを開きます。おそらくテキストエディタで開かれるかと思います。

$ open ~/.bash_profile

新品のMacでファイルが存在しない場合は作ってください。

$ touch .bash_profile

.bash_profileと双璧となる存在に.bashrcというファイルがあります。両者の違いは

.bash_profile→ログイン時に自動的に読み込まれる
.bashrc→bash(ターミナル)起動時に読み込まれる

です。.bash_profileのほうが優先度が高いようです。基本的には.bash_profileを編集しましょう。

2. PATHとJAVA_HOMEを追記する

以下の文法で追記します。

$ export 変数名=ディレクトリ

すでに存在する変数に追加したい場合は、以下の文法で追記します。

$ export $元変数名:変数名=ディレクトリパス

元の変数名を後ろにつけることで優先順位を上げることができます。

$ export 変数名:$元変数名=ディレクトリパス

Javaの実行環境をPATHに、JAVA_HOMEを新規で追加したい場合にはこんな感じで追記します。

export PATH=$PATH:/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/bin
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home

※ディレクトリパスは異なるかもしれないので適宜読み替えて下さい。

追記したら上書き保存をしてください。

3. 適用と確認

.bash_profileを適用します。

$ source ~/.bash_profile

これで通りました。
ターミナルを再起動して本当に通っているか確認をします。

$ echo $PATH
$ echo $JAVA_HOME

追記したディレクトリが表示されれば成功です。

参考

PATHを通す方法
open ~/.bash_profile で .bash_profile が編集できる!Mac OS X 便利すぎ
MacでPATHを通す
PATHを通すために環境変数の設定を理解する (Mac OS X)
MacでPATHを通す .bash_profileの作成と編集

59
67
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
59
67