結構前のことですが、 sdkman でJavaをインストールできるようになったとのことで、Javaの更新をsdkmanでやるようにしてみた。
sdk list java
まず、どのバージョンのJavaが利用できるのか確認してみます。
$ sdk list java
================================================================================
Available Java Versions
================================================================================
8u111
7u79
6u65
================================================================================
+ - local version
* - installed
> - currently in use
================================================================================
sdk install java 7u79
Java7をインストールしてみます。
$ sdk install 7u79 Oracle requires that you agree with the Oracle Binary Code License Agreement prior to installation. The license agreement can be found at: http://www.oracle.com/technetwork/java/javase/terms/license/index.html Do you agree to the terms of this agreement? (Y/n):
まず、ライセンスアグリーメントが求められます。ここは y でよいです。
Downloading: java 7u79 In progress... ######################################################################## 100.0% Binary validation passed... We will be needing super powers... Password: Repackaging java 7u79... Attaching to the DMG... Mounting DMG as Volume... Volume(s) mounted successfully Installing PKG inside DMG... installer: Package name is JDK 7 Update 79 installer: Installing at base path / installer: The install was successful. Copy JDK Home to temp folder... Preparing archive... Unmounting volume... "/Volumes/JDK 7 Update 79" unmounted successfully. Done repackaging... Cleaning up cookie... Installing: java 7u79 Done installing! Do you want java 7u79 to be set as default? (Y/n): n
Java7はあまり使うものではないのでデフォルトは n にしておきます。
注意 - Javaのインストール先と JAVA_HOME の場所
sdkでJavaをインストールする場合は以下の点に注意が必要です(Macでのみ確認)。
- Javaのインストール先がいつもどおりの
/Library/Java/JavaVirtualMachinesに加えて/Users/my-home/.sdkman/candidates/javaにもコピーがインストールされます。 - sdkのスクリプトによって
JAVA_HOMEが/Library/Java/JavaVirtualMachinesではなく、/Users/my-home/.sdkman/candidates/javaの方に向きます。- したがって、
JAVA_HOMEを/usr/libexec/java_homeを用いて設定/切り替えしていた場合などはJAVA_HOMEとPATHが指しているパスが異なるという気持ち悪い状態になるかもしれません。
- したがって、