Panduan ke SDKMAN!

1. Gambaran keseluruhan

Dengan kitaran pelepasan baru Java, pembangun mungkin perlu menguruskan versi selari dan binaan Kit Pembangunan Perisian (SDK) yang berbeza di persekitaran mereka. Oleh itu, menetapkan pemboleh ubah PATH boleh menjadi kesakitan yang nyata pada masa-masa.

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

2. Apa itu SDKMAN !?

SDKMAN! adalah alat untuk menguruskan versi selari dari pelbagai SDK, yang mana SDKMAN! panggil "calon" .

Ini menyediakan Interface Command-Line Interface (CLI) dan API yang sesuai untuk menyenaraikan, memasang, menukar, dan membuang calon. Lebih-lebih lagi, ia menguruskan penetapan pemboleh ubah persekitaran untuk kita.

Ini juga membolehkan para pembangun memasang SDK berasaskan JVM seperti Java, Groovy, Scala, Kotlin, dan Ceylon. Maven, Gradle, SBT, Spring Boot, Vert.x, dan banyak lagi yang lain juga disokong. SDKMAN! adalah utiliti sumber terbuka percuma, ringan dan ditulis dalam Bash.

3. Pasang SDKMAN!

SDKMAN! disokong oleh semua sistem operasi utama, dan dapat dengan mudah dipasang pada semua sistem berasaskan Unix. Lebih-lebih lagi, ia menyokong shell Bash dan Zsh.

Oleh itu mari kita mulakan dengan memasangnya menggunakan terminal:

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

Kemudian, ikuti arahan di skrin untuk menyelesaikan pemasangan.

Kami mungkin memerlukan pakej zip dan unzip dipasang untuk menyelesaikan proses pemasangan.

Seterusnya, buka terminal baru atau jalankan:

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

Terakhir, jalankan arahan berikut untuk memastikan pemasangan berfungsi. Sekiranya semuanya berjalan lancar, versi harus dipaparkan:

$ sdk version SDKMAN 5.8.5+522 

Untuk penyesuaian lebih lanjut, sila rujuk panduan pemasangan di SDKMAN! laman web.

Untuk melihat semua arahan yang tersedia, gunakan arahan bantuan :

$ sdk help

4. Senaraikan Semua Calon SDK

Oleh itu, mari kita mulakan dengan menyenaraikan semua calon SDK yang ada.

$ sdk list 

The senarai arahan menunjukkan semua calon ada, pasti dengan nama yang unik, huraian, laman web rasmi, dan arahan pemasangan:

===================================================== 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 itu, kita boleh menggunakan pengecam ini untuk memasang versi lalai calon seperti Spring Boot (2.3.1.RELEASE) atau Maven (3.6.3). Versi yang dinyatakan dalam senarai ini mewakili versi stabil atau LTS setiap SDK.

5. Pasang dan Urus Versi Java

5.1. Versi Penyenaraian

Untuk menyenaraikan versi boleh didapati Jawa, gunakan senarai arahan. Hasilnya adalah jadual penyertaan yang dikelompokkan oleh vendor dan disusun mengikut 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 arahan ini setiap kali kami ingin memeriksa, menukar, atau menguruskan penyimpanan calon.

5.2. Pasang Versi Java

Katakan kita mahu memasang build Java 14 terbaru dari Azul Zulu. Oleh itu, kami menyalin pengecamnya, yang merupakan versi dari jadual, dan kami menambahkannya sebagai argumen dalam perintah pemasangan :

$ 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 memuat turun dan membuka zip versi ini ke dalam direktori di komputer kita.

Lebih-lebih lagi, ia akan mengemas kini pemboleh ubah persekitaran sehingga kita dapat menggunakan Java di terminal dengan segera.

Kami boleh mengesahkan status dan penggunaan mana-mana versi dengan menggunakan senarai arahan. Oleh itu, versi 14.0.1 kini saya pasang 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 ... 

Di samping itu, mungkin untuk memasang Java atau versi khusus dari komputer dengan perintah yang sama tetapi dengan menentukan jalur binari sebagai argumen tambahan:

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

5.3. Beralih Antara Versi

Kami dapat mengawal pertukaran antara versi dalam dua bentuk, buat sementara waktu:

$ sdk use java 14.0.1.j9-adpt

atau secara kekal:

$ sdk default java 14.0.1.j9-adpt 

5.4. Keluarkan Versi

Untuk membuang versi yang terpasang, jalankan perintah uninstall dengan versi yang disasarkan:

$ sdk uninstall java 14.0.1.j9-adpt 

5.5. Paparkan Versi yang Digunakan

Untuk memeriksa versi Java semasa, kami menjalankan perintah semasa :

$ sdk current java Using java version 14.0.2-zulu 

Begitu juga, perintah terakhir mempunyai kesan yang sama seperti:

$ java -version 

Untuk menunjukkan versi oleh SDK pada mesin kami, kami dapat menjalankan perintah semasa tanpa argumen:

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

6. Menggunakan SDKMAN! dengan IDE

SDK yang dipasang disimpan di SDKMAN! direktori yang lalai kepada ~ / .sdkman / calon .

Sebagai contoh, versi Java yang berbeza juga akan tersedia di bawah direktori ~ / .sdkman / calon / java / dan subdirektori dinamakan mengikut versi:

$ 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 itu, versi Java yang dipilih sekarang juga akan tersedia sebagai terkini dalam direktori itu.

Dalam keadaan yang sama, Gradle atau SDK lain akan dipasang di bawah direktori calon .

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 mengawal SDK yang dipasang untuk semua projek. Buka "Preferences" di bawah menu "Window", dan kemudian pergi ke "JRE yang Dipasang". Di sini kita dapat mengatur SDK Java melalui "Tambah ..." dan dengan mengikuti petunjuk:

7. Kesimpulannya

Dalam tutorial ini, kami telah menunjukkan bagaimana SDKMAN! dapat membantu kami dalam menguruskan pelbagai versi SDK Java di antara alat Lingkungan Java lain seperti Maven.