mike-neckのブログ

Java or Groovy or Swift or Golang

sdkmanでJavaのインストール

結構前のことですが、 sdkmanJavaをインストールできるようになったとのことで、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 の場所

sdkJavaをインストールする場合は以下の点に注意が必要です(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_HOMEPATH が指しているパスが異なるという気持ち悪い状態になるかもしれません。