Java Developer? Przejd藕 na wy偶szy poziom wiedzy 馃敟馃挭 聽Sprawd藕

Team Leader? Podnie艣 efektywno艣膰 swojego zespo艂u 馃憣聽Sprawd藕

Wiele wersji Java na komputerze 馃帹 – SDKMAN

utworzone przez Java, Tip and Tricks

Dzi艣 kr贸tko o narz臋dziu SDKMAN. Od Java 9 zmieniony zosta艂 schemat wersjonowania (z 1.X na X). Cykl wydawniczy r贸wnie偶 przyspieszy艂. Mo偶liwe, 偶e w projektach u偶ywamy danej wersji Java, a pojawia si臋 nowa i chcieliby艣my posmakowa膰 nowej wersji lub spr贸bowa膰 przeportowa膰 projekt. Finalnie na naszej maszynie mamy kilka JDK.

Prze艂膮czenie JDK (Java Development Kit) to proces sk艂adaj膮cy si臋 z:

  • Instalacji wybranej JDK pod nasz膮 platform臋
  • Konfiguracji: zmian臋 zmiennych $JAVA_HOME i $PATH

Przedstawiam SDKMAN

Dla tych, kt贸rzy nie znaj膮 jeszcze tego narz臋dzia przedstawiam SDKMAN (SDK Manager).

logo sdkman
Logo SDKMAN

SDKMAN to narz臋dzie oryginalnie stworzone dla *nix-owych system贸w operacyjnych. W prosty spos贸b pozwala na pobieranie i prze艂膮czanie si臋 pomi臋dzy r贸偶nymi SDK na maszynie.

Wspiera instalacj臋 wielu 艣rodowisk SDK, np. dla Java, Groovy, Scala, Kotlin, Maven, Micronaut. Poprzednio znane jako GVM (Groovy enVironment Manager).

W tym wpisie skupi臋 si臋 na instalacji narz臋dzia na Windows i pokr贸tce przejd臋 przez najwa偶niejsze funkcje.

Wa偶ne: zak艂adam, 偶e na swojej maszynie u偶ywasz Git Bash Shell.

Przygotowanie 艣rodowiska Windowsa

SDKMAN to skrypt napisany w bash. Dlatego, aby zosta艂 poprawnie zinterpretowany powiniene艣 mie膰 konsole bashow膮 pod Windows, np. Git Bash Shell.

艢rodowisko Git Bash (MinGW) posiada skompilowane pod Windows odpowiedniki linuxowych narz臋dzi, kt贸rych u偶ywa skrypt. Brakuje w nim jednak programu zip.

Popularnym odpowiednikiem jest 7zip. Po instalacji 7zip upewniamy si臋, czy komenda jest dost臋pna z poziomu 艣rodowiska bash. Wprowadzasz go na $PATH lub tworzysz link symboliczny do folderu MinGW, kt贸ry ju偶 jest na $PATH:

ln -s /c/Program\ Files/7-Zip/7z.exe /c/Program\ Files/Git/mingw64/bin/zip.exe

Teraz mo偶esz zainstalowa膰 SDKMAN.

Instalacja SDKMAN

Aby zainstalowa膰 mened偶era, post臋puj zgodnie ze wskaz贸wkami na https://sdkman.io/. Nale偶y wykona膰 komend臋 pobieraj膮c膮 i uruchamiaj膮c膮 skrypt basha:

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

Narz臋dzie zostanie pobrane do folderu ~/.sdkman (w folderze u偶ytkownika).

Zrestartuj konsol臋 i mo偶esz u偶ywa膰 SDKMAN:

$ sdk version

SDKMAN 5.9.1+575

Instalacja SDK

Pora na instalacj臋 SDK.

$ sdk list

Mo偶esz wyszuka膰 tak膮 wersj臋 Java oraz dostawc臋 implemenracji, kt贸ra Ci odpowiada:

$ sdk list java
================================================================================
Available Java Versions
================================================================================
 Vendor        | Use | Version      | Dist    | Status     | Identifier
--------------------------------------------------------------------------------

...

 Java.net      |     | 17.ea.2      | open    |            | 17.ea.2-open
               |     | 16.ea.29     | open    |            | 16.ea.29-open
               |     | 16.ea.9.lm   | open    |            | 16.ea.9.lm-open
               |     | 16.ea.3.pma  | open    |            | 16.ea.3.pma-open
               |     | 15.0.1       | open    |            | 15.0.1-open
               |     | 14.0.2       | open    |            | 14.0.2-open
               |     | 13.0.2       | open    |            | 13.0.2-open
               |     | 12.0.2       | open    |            | 12.0.2-open
               |     | 11.0.2       | open    |            | 11.0.2-open
               |     | 10.0.2       | open    |            | 10.0.2-open
               |     | 9.0.4        | open    |            | 9.0.4-open
               |     | 8.0.265      | open    |            | 8.0.265-open

...

================================================================================
Use the Identifier for installation:

    $ sdk install java 11.0.3.hs-adpt
================================================================================

Zainstaluj臋 zatem OpenJDK 11.0.2:

$ sdk install java 11.0.2-open
Downloading: java 11.0.2-open

In progress...

######################################################################## 100,0%

Installing: java 11.0.2-open
Done installing!

Po instalacji JDK jest dost臋pne, zmienne 艣rodowiskowe zosta艂y zmodyfikowane i mog臋 korzysta膰 z Java:

$ java -version
openjdk version "11.0.2" 2019-01-15
OpenJDK Runtime Environment 18.9 (build 11.0.2+9)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode)

Gdyby by艂a potrzeba znajomo艣ci 艣cie偶ki JDK, Java zainstalowa艂a si臋 nam w katalogu u偶ytkownika ~/.sdkman/candidates/:

$ ls -1 ~/.sdkman/candidates/java/
11.0.2-open/
current/

Psst… Interesuj膮cy artyku艂?

Je偶eli podoba Ci si臋 ten artyku艂 i chcesz takich wi臋cej – do艂膮cz do newslettera. Nie omin膮 Ci臋 materia艂y tego typu.

.

Prze艂膮czanie si臋 pomi臋dzy wersjami SDK

Na mojej maszynie mam OpenJDK w wersjach 11.0.2 oraz starsz膮 wersj臋 8.0.265. Aby prze艂膮czy膰 si臋 na inn膮 wersj臋, wpisz sdk use:

$ sdk use java 8.0.265-open

Using java version 8.0.265-open in this shell.

$ java -version
openjdk version "1.8.0_265"
OpenJDK Runtime Environment (build 1.8.0_265-b01)
OpenJDK 64-Bit Server VM (build 25.265-b01, mixed mode)

Od teraz w aktywnym terminalu jest aktywne wybrane SDK.

Domy艣lny SDK

Aby zmieni膰 domy艣lne SDK na inne, otwierane w ka偶dym nowym terminalu, korzystamy z komendy sdk default:

$ sdk default java 11.0.2-open

Default java version set to 11.0.2-open

Zako艅czenie

Pe艂n膮 list臋 komend znajdziesz wpisuj膮c sdk help oraz na stronie https://sdkman.io/. Mam nadziej臋, 偶e si臋 przyda 馃憣.

Podoba Ci si臋 ten artyku艂? We藕 wi臋cej.

Je偶eli uwa偶asz ten materia艂 za warto艣ciowy i chcesz wi臋cej tre艣ci tego typu 鈥 nie przegap ich i otrzymuj je prosto na swoj膮 skrzynk臋. Nawi膮偶my kontakt.

.

Gdyby艣 potrzebowa艂 jeszcze wi臋cej:

Jeste艣 Java Developerem?

Przejd藕 na wy偶szy poziom wiedzy 
„Droga do Seniora” 馃敟馃挭

Jeste艣 Team Leaderem? Masz zesp贸艂?

Podnie艣 efektywno艣膰 i wiedz臋 swojego zespo艂u 馃憣

Czym jest SDKMAN?

SDKMAN to narz臋dzie oryginalnie stworzone dla *nix-owych system贸w operacyjnych w prosty spos贸b pozwala na pobieranie i prze艂膮czanie si臋 pomi臋dzy r贸偶nymi SDK na maszynie. Wspiera instalacj臋 wielu 艣rodowisk SDK, np. dla Java, Groovy, Scala, Kotlin, Maven, Micronaut.

Jak u偶ywa膰 SDKMAN?

Podstawowe komendy to: sdk install, sdk use, sdk default.

Dyskusja