Vorwort: In den letzten zwei Jahren wurde die Java-Version häufig aktualisiert, und ich habe das Gefühl, dass ich gerade Java8 beherrsche. Als ich diesen Artikel schrieb, habe ich die Neuigkeiten von Java14 gehört, ob es neue Funktionen ausprobiert (die Verwendung der superleistungsstarken Funktion von Collectors.teing in Java12) oder aufgrund von Projekten. Aus Gründen der Upgrade-/Kompatibilitätsanforderungen stehen wir alle möglicherweise vor der Situation, mehrere Java-Versionen verwalten zu müssen.
Darüber hinaus hat Oracle seit Java11 die Nutzungsvereinbarung geändert und jede kommerzielle Nutzung wird kostenpflichtig. Während ich diesen Artikel schrieb, erhielt ich die Nachricht: „Microsoft hat angekündigt, dass es OpenJDK beitreten wird.“ Wenn Sie es nicht schaffen, entscheiden Sie sich für OpenJDK. Einfach G und verstehe es als eine Geschichte
(empfohlenes Video: Java-Video-Tutorial)
Das Konfigurieren einer einzelnen Java-Umgebungsvariablen selbst hat überhaupt keinen technischen Inhalt, aber wenn mehrere Java-Versionen verwaltet werden müssen, ist das wiederholte Konfigurieren von Umgebungsvariablen offensichtlich sehr langweilig. Gemäß der herkömmlichen Konfigurationsmethode können wir Java-Versionen nicht flexibel wechseln
Wie kann man mehrere Java-Versionen einfach verwalten und nutzen?
Multiversions-Java-Management
Offensichtlich sind wir nicht die Ersten, die dieses Dilemma haben, die ich kenne:
● Jabba
● jenv
● sdkman
Dieser Artikel erklärt hauptsächlich, wie man sdkman verwendet, um die Schwierigkeiten, mit denen wir konfrontiert sind, zu überwinden und uns zu helfen flexibel konfigurieren Einführung in die Verwendung von Java
sdkman
SDKMAN ist ein Softwareentwicklungs-Toolkit zur Verwaltung mehrerer Softwareentwicklungskits (Java, Groovy, Scala, Kotlin) auf den meisten Unix- basierte Systeme und Ceylon.
Es bietet eine praktische Befehlszeilenschnittstelle (CLI) und API zum Installieren, Wechseln, Entfernen und Auflisten von Kandidaten. In diesem Artikel wird hauptsächlich die Verwendung von SDKMAN durch die Verwaltung von Java erläutert
SDKMAN-Installation
Es ist sehr einfach, SDKMAN auf einer Unix-ähnlichen Plattform zu installieren. Es kann erfolgreich auf Mac OSX, Linux, WLS, Cygwin, Solaris und FreeBSD installiert werden und unterstützt auch Bash- und ZSH-Shells.
Öffnen Sie einfach ein neues Terminal und geben Sie ein:
$ curl -s "https://get.sdkman.io" | bash
Folgen Sie den entsprechenden Anweisungen und geben Sie nach Abschluss der entsprechenden Vorgänge weiter ein:
$ source "$HOME/.sdkman/bin/sdkman-init.sh"
Hier können wir die installierte Version überprüfen von sdk:
$ sdk version sdk version
Die rote Kästchenmarkierung im Bild oben zeigt meine aktuelle SDK-Versionsversion. Jedes Mal, wenn ich den SDK-Versionsbefehl ausführe, wird überprüft, ob es eine neue gibt Wenn Sie aktualisieren möchten, geben Sie y ein.
Einige Systemversionen enthalten kein Zip und Unzip. Wenn während der Installation entsprechende Fehler auftreten, können Sie den folgenden Befehl eingeben, um Zip und Unzip zu installieren:
$ sudo apt-get install zip unzip
Von oben installieren Wie aus dem Befehl hervorgeht, befindet sich der Standardinstallationspfad von sdkman unter $HOME/.sdkman. Wir können den Installationspfad auch anpassen, indem wir den Variablenwert SDKMAN_DIR angeben:
$ export SDKMAN_DIR="/usr/local/sdkman" && curl -s "https://get.sdkman.io" | bash
Die Installation von sdkman ist hier vorbei, schauen wir uns an, wie man es verwendet
sdkman-Tutorial
Um etwas Neues aus dem Befehl zu lernen Zeile, natürlich, überprüfen Sie die Hilfe Befehl, geben Sie ein:
$ sdkman help sdk help[object Object]
Ich habe das Gefühl, dass die Anweisungen zur Verwendung von sdkman beendet sind, nachdem das obige Bild den Inhalt nach Farbe unterschieden hat. Folgen wir dem obigen Bild, um das Verwendungs-Tutorial zu erklären im Detail
SDK-Liste
Zuerst eingeben:
$ sdk list sdk list[object Object]
Die grüne Markierung zeigt alle verfügbaren Kandidaten an, die von sdkman integriert wurden Klicken Sie auf die Schaltfläche „Enter“, Sie sehen weitere verfügbare Kandidaten
Wir geben den Kandidaten an, geben Sie ein:
$ sdk list java sdk list java[object Object]
Auf dem Bild oben sehen Sie alle verfügbaren Java-Versionen sowie die Kennung und Status. Ich habe Java 12 und 11 installiert
Mit diesen Informationen als Grundlage können wir jedes in SDKMAN integrierte Softwareentwicklungspaket installieren, wobei wir weiterhin Java als Beispiel nehmen
sdk install
Wenn wir auf die Ausgabe des sdkman-Hilfebefehls zurückblicken, installieren wir mit dem Installationsbefehl eine weitere aktuelle Java-Version 13.0.1.j9
Wie Sie auf dem Bild oben sehen können, ist der grün markierte Inhalt der Versionswert im Ergebnis des Listenbefehls, aber der Fehler ist nicht verfügbar. Geben Sie die Kennungsnummer ein, um ihn normal herunterzuladen hier
Nachdem die Installation abgeschlossen ist, wird der Status den installierten Status programmieren
SDK aktuell
Bei der Installation mehrerer Java-Versionen Wir geben den folgenden Befehl ein, um die aktuell verwendete Version des Kandidaten abzurufen
$ sdk current java sdk current java
sdk use
Verstehen Sie die aktuelle Version. Wenn wir zu einer anderen Version wechseln möchten, können wir Folgendes eingeben:
$ sdk use java 12.0.2.j9-adpt
Hinweis⚠️: Gleiches gilt hier für den Wert des angegebenen Bezeichners
sdk default
如果我们想指定某个版本为默认版本,可以输入:
$ sdk default java jdk1.8.0_162.jdk
注意⚠️: 这里同样是指定的 indentifier 的值
sdk uninstall
当我们想卸载某个版本可以输入:
$ sdk uninstall java 12.0.2.j9-adpt
注意⚠️: 这里同样是指定的 indentifier 的值
sdk upgrade
如果我们想升级某个 candidate,可以输入:
$ sdk upgrade java sdk flush
使用 sdkman 时间变长也会慢慢产生很多缓存内容,我们可以输入
清理广播消息:
$ sdk flush broadcast
清理下载的 sdk 二进制文件(长时间使用后清理,可以节省出很多空间):
$ sdk flush archives
清理临时文件内容:
$ sdk flush temp
到这里 sdkman 的基本使用就已经介绍完了,其实这些命令都不用急,想不起来的时候执行 sdk help 来临时查看一下就好
sdkman 卸载
如果我们不喜欢 sdkman 了,我们也可以轻松的卸载掉它:
$ tar zcvf ~/sdkman-backup_$(date +%F-%kh%M).tar.gz -C ~/ .sdkman $ rm -rf ~/.sdkman
最后打开你的 .bashrc、.bash_profile 和/或者 .profile,找到并删除下面这几行。
#THIS MUST BE AT THE END OF THE FILE FOR SDKMAN TO WORK!!! [[ -s "/home/dudette/.sdkman/bin/sdkman-init.sh" ]] && source "/home/dudette/.sdkman/bin/sdkman-init.sh"
我用的 zshrc,找到 .zshrc 文件删除掉上面内容即可
到这里基于 Unix 系统的,有关 sdkman 的安装,使用及下载都已经介绍完了,可以上手试一试了
本文来自php中文网,java教程栏目,欢迎学习!
Das obige ist der detaillierte Inhalt vonFlexibler Wechsel und Verwaltung mehrerer Java-Versionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!