Panduan untuk SDKMAN!

1. Ikhtisar

Dengan siklus rilis baru Java, pengembang mungkin perlu mengelola versi paralel dan versi Kit Pengembangan Perangkat Lunak (SDK) yang berbeda di lingkungan mereka. Jadi pengaturan variabel PATH terkadang bisa sangat merepotkan.

Dalam tutorial ini, kita akan melihat bagaimana SDKMAN! dapat membantu mengelola penginstalan dan pemilihan SDK dengan mudah.

2. Apakah SDKMAN !?

SDKMAN! adalah alat untuk mengelola versi paralel dari beberapa SDK, yang SDKMAN! sebut "kandidat" .

Ini menyediakan Antarmuka Baris Perintah (CLI) dan API yang nyaman untuk membuat daftar, menginstal, beralih, dan menghapus kandidat. Selain itu, ia menangani pengaturan variabel lingkungan untuk kita.

Ini juga memungkinkan pengembang untuk menginstal SDK berbasis JVM seperti Java, Groovy, Scala, Kotlin, dan Ceylon. Maven, Gradle, SBT, Spring Boot, Vert.x, dan banyak lainnya juga didukung. SDKMAN! adalah utilitas open-source gratis, ringan, dan ditulis dalam Bash.

3. Instal SDKMAN!

SDKMAN! didukung oleh semua sistem operasi utama, dan dapat dengan mudah diinstal pada semua sistem berbasis Unix. Selain itu, ini mendukung shell Bash dan Zsh.

Jadi mari kita mulai dengan menginstalnya menggunakan terminal:

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

Kemudian, ikuti petunjuk di layar untuk menyelesaikan penginstalan.

Kami mungkin perlu menginstal paket zip dan unzip untuk menyelesaikan proses instalasi.

Selanjutnya, buka terminal baru atau jalankan:

$ source "$HOME/.sdkman/bin/sdkman-init.sh"

Terakhir, jalankan perintah berikut untuk memastikan penginstalan berfungsi. Jika semuanya berjalan dengan baik, versi tersebut harus ditampilkan:

$ sdk version SDKMAN 5.8.5+522 

Untuk kustomisasi lebih lanjut, silakan lihat panduan instalasi di SDKMAN! situs web.

Untuk melihat semua perintah yang tersedia, gunakan perintah bantuan :

$ sdk help

4. Cantumkan Semua Kandidat SDK

Jadi, mari kita mulai dengan membuat daftar semua kandidat SDK yang tersedia.

$ sdk list 

The daftar perintah menunjukkan semua kandidat yang tersedia, diidentifikasi oleh nama yang unik, deskripsi, situs resmi, dan perintah instalasi:

===================================================== Available Candidates ===================================================== q-quit /-search down j-down ?-search up k-up h-help ----------------------------------------------------- Java (11.0.7.hs-adpt) //zulu.org ... $ sdk install java ----------------------------------------------------- Maven (3.6.3) //maven.apache.org ... $ sdk install maven ----------------------------------------------------- Spring Boot (2.3.1.RELEASE) //spring.io ... $ sdk install springboot ------------------------------------------------------ ... 

Oleh karena itu, kita dapat menggunakan pengenal ini untuk menginstal versi default kandidat seperti Spring Boot (2.3.1.RELEASE) atau Maven (3.6.3). Versi yang ditentukan dalam daftar ini mewakili versi stabil atau LTS dari setiap SDK.

5. Instal dan Kelola Versi Java

5.1. Daftar Versi

Untuk membuat daftar versi Java yang tersedia, gunakan perintah list . Hasilnya adalah tabel entri yang dikelompokkan berdasarkan vendor dan diurutkan berdasarkan versi:

$ sdk list java =================================================================== Available Java Versions =================================================================== Vendor | Use | Version | Dist | Status | Identifier ------------------------------------------------------------------- AdoptOpenJDK | | 14.0.1 | adpt | | 14.0.1.j9-adpt ... Amazon | | 11.0.8 | amzn | | 11.0.8-amzn ... Azul Zulu | | 14.0.2 | zulu | | 14.0.2-zulu ... BellSoft | | 14.0.2 | librca | | 14.0.2.fx-librca ... GraalVM | | 20.1.0 | grl | | 20.1.0.r11-grl ... Java.net | | 16.ea | open | | 16.ea.6-open ... SAP | | 14.0.2 | sapmchn | | 14.0.2-sapmchn ... 

Kami memerlukan perintah ini setiap kali kami ingin memeriksa, beralih, atau mengelola penyimpanan kandidat.

5.2. Instal Versi Java

Katakanlah kita ingin menginstal versi terbaru Java 14 dari Azul Zulu. Oleh karena itu, kami menyalin pengenalnya, yang merupakan versi dari tabel, dan kami menambahkannya sebagai argumen di perintah install :

$ sdk install java 14.0.2-zulu Downloading: java 14.0.2-zulu In progress... ########### 100.0% Repackaging Java 14.0.2-zulu... Done repackaging... Installing: java 14.0.2-zulu Done installing! Setting java 14.0.2-zulu as default. 

SDKMAN! akan mengunduh dan mengekstrak versi ini ke direktori di komputer kita.

Selain itu, variabel lingkungan akan diperbarui sehingga kita dapat menggunakan Java di terminal dengan segera.

Kami dapat memverifikasi status dan penggunaan versi apa pun dengan menggunakan perintah daftar . Akibatnya, versi 14.0.1 sekarang terinstal dan digunakan:

$ sdk list java ================================================================= Available Java Versions ================================================================= Vendor | Use | Version | Dist | Status | Identifier ----------------------------------------------------------------- ... Azul Zulu | >>> | 14.0.1 | adpt | installed | 14.0.1.j9-adpt ... 

Selain itu, dimungkinkan untuk menginstal Java atau versi kustom apa pun dari komputer dengan perintah yang sama tetapi dengan menentukan jalur biner sebagai argumen tambahan:

$ sdk install java custom-8 ~/Downloads/my-company-jdk-custom-8 

5.3. Beralih Antar Versi

Kami dapat mengontrol peralihan antar versi dalam dua bentuk, untuk sementara:

$ sdk use java 14.0.1.j9-adpt

atau secara permanen:

$ sdk default java 14.0.1.j9-adpt 

5.4. Hapus Versi

Untuk menghapus versi yang diinstal, jalankan perintah uninstall dengan versi yang ditargetkan:

$ sdk uninstall java 14.0.1.j9-adpt 

5.5. Tampilkan Versi yang Digunakan

Untuk memeriksa versi Java saat ini, kami menjalankan perintah saat ini :

$ sdk current java Using java version 14.0.2-zulu 

Demikian pula, perintah terakhir memiliki efek yang sama seperti:

$ java -version 

Untuk menampilkan versi berdasarkan SDK di mesin kita, kita dapat menjalankan perintah saat ini tanpa argumen:

$ sdk current Using: java: 14.0.2-zulu gradle: 6.2.2 

6. Menggunakan SDKMAN! dengan IDE

SDK yang diinstal disimpan di SDKMAN! direktori yang defaultnya ke ~ / .sdkman / kandidat .

Misalnya, versi Java yang berbeda juga akan tersedia di bawah direktori ~ / .sdkman / kandidat / java / dan subdirektorinya dinamai menurut versinya:

$ ls -al ~/.sdkman/candidates/java/ total 0 drwxrwxrwx 1 user user 12 Jul 25 20:00 . drwxrwxrwx 1 user user 12 Jul 25 20:00 .. drwxrwxr-x 1 user user 12 Jul 25 20:00 14.0.2-zulu lrwxrwxrwx 1 user user 14 Jul 25 20:00 current -> 14.0.2-zulu 

Oleh karena itu, versi Java yang saat ini dipilih juga akan tersedia sebagai versi terkini di direktori itu.

Dengan nada yang sama, Gradle atau SDK lainnya akan diinstal di bawah direktori kandidat .

In this way, we can use any particular version of Java, for example in our favorite IDE. All we have to do is to copy the path of a specific version and set it in the configuration of our IDE.

6.1. IntelliJ IDEA

In IntelliJ IDEA, open “Project Structure”, then open “Project Settings”. In the project configuration, we can add a new Java version by selecting “New…” from the “Project SDK” section:

We can also define the version of Java, Gradle, or Maven to use in the “Build Tools” section:

Tip: The version of Java must be the same as used in “Project SDK” for Gradle or Maven.

6.2. Eclipse

In Eclipse open “Project Properties”, select “Java Build Path”, and then switch to the “Libraries” tab. Here, we can manage the new SDK of Java via “Add Library…” and by following the instructions:

Kami juga dapat mengontrol SDK yang diinstal untuk semua proyek. Buka "Preferensi" di bawah menu "Jendela", lalu masuk ke "JRE Terpasang". Di sini kita dapat mengelola SDK Java melalui "Add ..." dan dengan mengikuti petunjuk:

7. Kesimpulan

Dalam tutorial ini, kami telah menunjukkan bagaimana SDKMAN! dapat membantu kami dalam mengelola berbagai versi Java SDK di antara alat Java Environment lainnya seperti Maven.