環境変数JAVA_HOMEを変更して使用するJDKを切り替える
Total: 26804
, Today: 2
, Yesterday: 5
Posted by aterai at
Last-modified:
概要
環境変数JAVA_HOME
を変更するバッチファイルやシェルスクリプトを作成し、コンソールで使用するJDK
を切り替えます。
バッチファイル
core.autocrlf
がfalse
な設定でgist
からダウンロードすると、改行がcrlf
にならないので注意が必要
シェルスクリプト
Ubuntu
などの場合、/usr/lib/jvm
以下にjdk-7uXX-linux-x64.tar.gz
を展開していると想定
cd /var/cache/oracle-jdk7-installer sudo tar zxvf jdk-7u40-linux-x64.tar.gz -C /usr/lib/jvm
- ドットをシェルスクリプトの前に付けて実行すると、スクリプトを起動したシェルで起動されるので、その環境変数を更新可能
$ . jdk.sh 1.7.0_09
解説
ant.bat
やjruby.bat
などは、JAVA_HOME
環境変数を使って使用するJDK
のパスを取得しているので、これらのコマンドを実行する前に、set JAVA_HOME
すれば、そのコマンドプロンプト内で使用するJDK
を簡単に切り替えることができます。
上記のバッチファイルは、その際、set JAVA_HOME=C:\Program Files\...
と一々入力しなくてすむようにするためのものです。
JDK
はデフォルトのディレクトリにインストールされていることを想定- SDKMAN! the Software Development Kit Managerで
Java
をインストールしている場合は使用する必要がないsdk list java
で一覧表示sdk current java
で使用中のバージョン表示sdk use java 8.0.212-amzn
で現在のシェルで使用するバージョンを指定sdk default java 8.0.212-amzn
でデフォルトで使用するバージョンを指定
使用方法
- 引数なしで、現在の
JAVA_HOME
と、C:\Program Files\Java
以下にインストールされているjdk
を一覧表示
C:\tmp>jdk
ドライブ C のボリューム ラベルは WINDOWS です
ボリューム シリアル番号は xxxxxxxxx です
C:\Program Files\Java のディレクトリ
2008/09/03 16:25 <DIR> jdk1.4.2_17
2007/10/03 18:34 <DIR> jdk1.5.0_13
2008/02/06 17:17 <DIR> jdk1.5.0_14
2008/03/17 13:48 <DIR> jdk1.5.0_15
2008/07/18 11:28 <DIR> jdk1.5.0_16
2008/12/03 19:55 <DIR> jdk1.5.0_17
2007/10/31 21:24 <DIR> jdk1.6.0_03
2008/02/28 15:38 <DIR> jdk1.6.0_04
2008/04/17 19:41 <DIR> jdk1.6.0_05
2008/04/17 19:43 <DIR> jdk1.6.0_06
2008/07/23 17:37 <DIR> jdk1.6.0_07
2008/10/16 12:55 <DIR> jdk1.6.0_10
2008/12/12 14:58 <DIR> jdk1.6.0_11
2008/12/12 14:56 <DIR> jdk1.6.0_12
2008/12/10 20:56 <DIR> jdk1.7.0
0 個のファイル 0 バイト
15 個のディレクトリ 11,321,315,328 バイトの空き領域
----
JAVA_HOME=C:\Program Files\Java\jdk1.6.0_10
java version "1.6.0_10"
Java(TM) SE Runtime Environment (build 1.6.0_10-b33)
Java HotSpot(TM) Client VM (build 11.0-b15, mixed mode, sharing)
- 引数ありで、
JAVA_HOME
の切り替え- 指定したディレクトリが存在しない場合は、なにもしない
C:\tmp>jdk 1.7.0_
----
Not exist C:\Program Files\Java\jdk1.7.0_
----
JAVA_HOME=C:\Program Files\Java\jdk1.6.0_10
C:\tmp>jruby -J-version
java version "1.6.0_10"
Java(TM) SE Runtime Environment (build 1.6.0_10-b33)
Java HotSpot(TM) Client VM (build 11.0-b15, mixed mode, sharing)
C:\tmp>jdk 1.7.0
----
JAVA_HOME=C:\Program Files\Java\jdk1.7.0
C:\tmp>jruby -J-version
java version "1.7.0-ea"
Java(TM) SE Runtime Environment (build 1.7.0-ea-b31)
Java HotSpot(TM) Client VM (build 14.0-b01, mixed mode, sharing)
参考リンク
- ローカルのJava環境の管理について - marsのメモ
- 参考にした管理方法
- Windows 7へJDK 7をインストール - Object-Oriented & Java maneuver 別室
32bit
版と64bit
版を切り替える必要があるなら「環境設定バッチファイル(setjdk.bat
)」が便利そう
- java_home(1) Mac OS X Developer Tools Manual Page
- Java: Finding/Setting JDK/$JAVA_HOME on Mac OS X at Mark Needham