SDKMANでJavaの開発環境をセットアップする

こんにちは。beaglesoftの真鍋です。

Javaの開発環境はJDKのインストールに始まりビルドツールであるmavenやgradleのインストールまで行う必要があります。以前はそれぞれ別々にインストールする必要があったのですが、最近ではこれらのツールを管理するツールが提供されておりかなり便利にインストールができます。そのツールがcurl -s “https://get.sdkman.io” | bashです。

JDKのインストールについて

JDKのインストールについてSDK MANで実行することは可能ですが、インストール後の設定でJAVA_HOMEの設定などを行う必要があるためOracle社からJDKをダウンロードしてインストールすることをおすすめします。

SDK MANのインストール

SDK MANのインストールは以下のコマンドを実行します。

$ curl -s "https://get.sdkman.io" | bash


Thanks for using...


     SSSSSSSSSSSSSSS DDDDDDDDDDDDD       KKKKKKKKK    KKKKKKK
   SS:::::::::::::::SD::::::::::::DDD    K:::::::K    K:::::K
  S:::::SSSSSS::::::SD:::::::::::::::DD  K:::::::K    K:::::K
  S:::::S     SSSSSSSDDD:::::DDDDD:::::D K:::::::K   K::::::K
  S:::::S              D:::::D    D:::::DKK::::::K  K:::::KKK
  S:::::S              D:::::D     D:::::D K:::::K K:::::K
   S::::SSSS           D:::::D     D:::::D K::::::K:::::K
    SS::::::SSSSS      D:::::D     D:::::D K:::::::::::K
      SSS::::::::SS    D:::::D     D:::::D K:::::::::::K
         SSSSSS::::S   D:::::D     D:::::D K::::::K:::::K
              S:::::S  D:::::D     D:::::D K:::::K K:::::K
              S:::::S  D:::::D    D:::::DKK::::::K  K:::::KKK
  SSSSSSS     S:::::SDDD:::::DDDDD:::::D K:::::::K   K::::::K
  S::::::SSSSSS:::::SD:::::::::::::::DD  K:::::::K    K:::::K
  S:::::::::::::::SS D::::::::::::DDD    K:::::::K    K:::::K
   SSSSSSSSSSSSSSS   DDDDDDDDDDDDD       KKKKKKKKK    KKKKKKK


                      mmmmmmm    mmmmmmm     aaaaaaaaaaaaa  nnnn  nnnnnnnn
                    mm:::::::m  m:::::::mm   a::::::::::::a n:::nn::::::::nn
                   m::::::::::mm::::::::::m  aaaaaaaaa:::::an::::::::::::::nn
                   m::::::::::::::::::::::m           a::::ann:::::::::::::::n
                   m:::::mmm::::::mmm:::::m    aaaaaaa:::::a  n:::::nnnn:::::n
                   m::::m   m::::m   m::::m  aa::::::::::::a  n::::n    n::::n
                   m::::m   m::::m   m::::m a::::aaaa::::::a  n::::n    n::::n
                   m::::m   m::::m   m::::ma::::a    a:::::a  n::::n    n::::n
                   m::::m   m::::m   m::::ma::::a    a:::::a  n::::n    n::::n
                   m::::m   m::::m   m::::ma:::::aaaa::::::a  n::::n    n::::n
                   m::::m   m::::m   m::::m a::::::::::aa:::a n::::n    n::::n
                   mmmmmm   mmmmmm   mmmmmm  aaaaaaaaaa  aaaa nnnnnn    nnnnnn


                                                 Now attempting installation...

Looking for a previous installation of SDKMAN...
Looking for unzip...
Looking for zip...
Looking for curl...
Looking for sed...
Installing SDKMAN scripts...
Create distribution directories...
Getting available candidates...
Prime the config file...
Download script archive...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0
100 20944  100 20944    0     0   9382      0  0:00:02  0:00:02 --:--:--  142k
Extract script archive...
Install scripts...
Set version to 5.5.10+240 ...
Attempt update of zsh profiles...



All done!


Please open a new terminal, or run the following in the existing one:

    source "/Users/user/.sdkman/bin/sdkman-init.sh"

Then issue the following command:

    sdk help

Enjoy!!!

次にターミナルなどを新しく起動して以下のコマンドを実行します。

$ source "/Users/{user}/.sdkman/bin/sdkman-init.sh"
$ sdk help
==== BROADCAST =================================================================
* 12/08/17: Kscript 1.6.0 released on SDKMAN! #kscript
* 10/08/17: Azul Zulu 9ea13 is now available for download from SDKMAN! on Linux, Mac OSX, Windows. #java
* 09/08/17: Java 8u144 released on SDKMAN! #java
================================================================================

Usage: sdk <command> [candidate] [version]
       sdk offline <enable|disable>

   commands:
       install   or i    <candidate> [version]
       uninstall or rm   <candidate> <version>
       list      or ls   [candidate]
       use       or u    <candidate> [version]
       default   or d    <candidate> [version]
       current   or c    [candidate]
       upgrade   or ug   [candidate]
       version   or v
       broadcast or b
       help      or h
       offline           [enable|disable]
       selfupdate        [force]
       flush             <candidates|broadcast|archives|temp>

   candidate  :  the SDK to install: groovy, scala, grails, gradle, kotlin, etc.
                 use list command for comprehensive list of candidates
                 eg: $ sdk list

   version    :  where optional, defaults to latest stable if not provided
                 eg: $ sdk install groovy

ここまででSDK MANのインストールは完了です。特にmacやUbuntuで設定内容が異なることはありません。素晴らしいですね!

JDKのインストール

ここからは各アプリケーションのインストールです。インストールできるアプリケーションを表示します。

$ sdk list

================================================================================
Available Candidates
================================================================================
q-quit                                  /-search down
j-down                                  ?-search up
k-up                                    h-help

--------------------------------------------------------------------------------
Activator (1.3.10)                   http://www.lightbend.com/activator/download

Typesafe is a GUI/CLI tool to help with building reactive applicaions. It uses
sbt (simple build tool) behind the scenes to build, run, and test your project.
It provides a code editing interface, and provides templaes and seeds for you to
clone and use.

                                                         $ sdk install activator
--------------------------------------------------------------------------------
Ant (1.10.1)                                             https://ant.apache.org/

Apache Ant is a Java library and command-line tool whose mission is to drive
processes described in build files as targets and extension points dependent
upon each other. The main known usage of Ant is the build of Java applications.
Ant supplies a number of built-in tasks allowing to compile, assemble, test and
run Java applications. Ant can also be used effectively to build non Java
applications, for instance C or C++ applications. More generally, Ant can be
used to pilot any type of process which can be described in terms of targets and
tasks.

                                                               $ sdk install ant
--------------------------------------------------------------------------------
...

listを表示することで、インストール可能なアプリケーションとインストール法オフが表示されます。例えば、Antの場合にはsdk install antでインストールできることがわかります。

groovyのインストール

groovyのインストールは以下の通り実行します。

$ groovy -v
zsh: command not found: groov

$ sdk install groovy

Downloading: groovy 2.4.12

In progress...

######################################################################## 100.0%

Installing: groovy 2.4.12
Done installing!


Setting groovy 2.4.12 as default.

$ groovy -v
Groovy Version: 2.4.12 JVM: 1.8.0_144 Vendor: Oracle Corporation OS: Mac OS X

mavenのインストール

mavenのインストールは以下の通り実行します。

$ mvn -v
zsh: command not found: mvn
ymanabe ~ $ sdk install maven

Downloading: maven 3.5.0

In progress...

######################################################################## 100.0%

Installing: maven 3.5.0
Done installing!


Setting maven 3.5.0 as default.
$ mvn -v
Apache Maven 3.5.0 (ff8f5e7444045639af65f6095c62210b5713f426; 2017-04-04T04:39:06+09:00)
Maven home: /Users/{user}/.sdkman/candidates/maven/current
Java version: 1.8.0_144, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home/jre
Default locale: ja_JP, platform encoding: UTF-8
OS name: "mac os x", version: "10.12.6", arch: "x86_64", family: "mac"

Gradleのインストール

最後にGradleのインストールを行います。

$ gradle -v
$ sdk install gradle

Downloading: gradle 4.1

In progress...

######################################################################## 100.0%

Installing: gradle 4.1
Done installing!


Setting gradle 4.1 as default.

$ gradle -v

------------------------------------------------------------
Gradle 4.1
------------------------------------------------------------

Build time:   2017-08-07 14:38:48 UTC
Revision:     941559e020f6c357ebb08d5c67acdb858a3defc2

Groovy:       2.4.11
Ant:          Apache Ant(TM) version 1.9.6 compiled on June 29 2015
JVM:          1.8.0_144 (Oracle Corporation 25.144-b01)
OS:           Mac OS X 10.12.6 x86_64

最後に

これでJavaに関する環境構築はかなり楽になるのではないでしょうか。手動でインストールを行っていた方はぜひ利用してみてください。

Gradle徹底入門 次世代ビルドツールによる自動化基盤の構築

Gradle徹底入門 次世代ビルドツールによる自動化基盤の構築