Java 系の バージョン管理ツール SDKMAN をさわってみる。
概要
SDKMAN を導入することで、以下のツールのバージョン管理が可能となる。
- Ant
 - AsciidoctorJ
 - Ceylon
 - CRaSH
 - Gaiden
 - Glide
 - Gradle
 - Grails
 - Griffon
 - Groovy
 - GroovyServ
 - Java
 - JBake
 - Kobalt
 - Kotlin
 - kscript
 - Lazybones
 - Leiningen
 - Maven
 - sbt
 - Scala
 - Spring Boot
 - Sshoogr
 - Vert.x
 
ここでは Java と Maven のみ記載する。
環境設定
SDKMAN
$ curl -s "https://get.sdkman.io" | bash
$ source "$HOME/.sdkman/bin/sdkman-init.sh"
init を叩かないと sdk コマンドのパスが通らないため、 ~/.bash_profile に以下をいれておく。
source "$HOME/.sdkman/bin/sdkman-init.sh"
各ツールの導入
USAGE は以下。
ツール名を「 xxxx 」とする。
$ sdk help                     # help を表示
$ sdk version                  # SDKMAN 自体のバージョン
$ sdk selfupdate force         # SDKMAN 自体のバージョンアップ
$ sdk install xxxx             # xxxx をインストール
$ sdk install xxxx [version]   # xxxx を version 指定でインストール
$ sdk uninstall xxxx [version] # xxxx を version 指定でアンインストール
$ sdk list xxxx                # xxxx の version の一覧を表示
$ sdk use xxxx [version]       # xxxx の現ターミナルの version を指定
$ sdk default xxxx [version]   # xxxx のデフォルトの version を指定
$ sdk current xxxx             # xxxx の現在の version を表示
Java
$ sdk install java
$ sdk list java
==========================
Available Java Versions
==========================
     9.0.1-zulu
     9.0.1-oracle
     9.0.0-zulu
 > * 8u152-zulu
     8u151-oracle
     8u144-zulu
     8u131-zulu
     7u141-zulu
     6u65-apple
==========================
+ - local version
* - installed
> - currently in use
==========================
$ sdk install java 8u151-oracle
$ sdk default java 8u151-oracle
-zulu は OpenJDK 、 -oracle は Oracle Java を指す。
/usr/libexec/java_home もちゃんと有効だった。
Maven
$ sdk install maven 3.5.2
$ sdk list maven
