Heim > Java > javaLernprogramm > Hauptteil

Flexibler Wechsel und Verwaltung mehrerer Java-Versionen

angryTom
Freigeben: 2019-11-28 16:41:49
nach vorne
2849 Leute haben es durchsucht

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
Nach dem Login kopieren

Folgen Sie den entsprechenden Anweisungen und geben Sie nach Abschluss der entsprechenden Vorgänge weiter ein:

$ source "$HOME/.sdkman/bin/sdkman-init.sh"
Nach dem Login kopieren

Hier können wir die installierte Version überprüfen von sdk:

$ sdk version
sdk version
Nach dem Login kopieren

Flexibler Wechsel und Verwaltung mehrerer Java-Versionen

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
Nach dem Login kopieren

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
Nach dem Login kopieren

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]
Nach dem Login kopieren

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]
Nach dem Login kopieren

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]
Nach dem Login kopieren

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

Flexibler Wechsel und Verwaltung mehrerer Java-Versionen

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
Nach dem Login kopieren

Flexibler Wechsel und Verwaltung mehrerer Java-Versionen

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
Nach dem Login kopieren

Hinweis⚠️: Gleiches gilt hier für den Wert des angegebenen Bezeichners

Flexibler Wechsel und Verwaltung mehrerer Java-Versionen

sdk default

如果我们想指定某个版本为默认版本,可以输入:

$ sdk default java jdk1.8.0_162.jdk
Nach dem Login kopieren

注意⚠️: 这里同样是指定的 indentifier 的值

Flexibler Wechsel und Verwaltung mehrerer Java-Versionen

sdk uninstall

当我们想卸载某个版本可以输入:

$ sdk uninstall java 12.0.2.j9-adpt
Nach dem Login kopieren

注意⚠️: 这里同样是指定的 indentifier 的值

sdk upgrade

如果我们想升级某个 candidate,可以输入:

$ sdk upgrade java
sdk flush
Nach dem Login kopieren

使用 sdkman 时间变长也会慢慢产生很多缓存内容,我们可以输入

清理广播消息:

$ sdk flush broadcast
Nach dem Login kopieren

清理下载的 sdk 二进制文件(长时间使用后清理,可以节省出很多空间):

$ sdk flush archives
Nach dem Login kopieren

清理临时文件内容:

$ sdk flush temp
Nach dem Login kopieren

到这里 sdkman 的基本使用就已经介绍完了,其实这些命令都不用急,想不起来的时候执行 sdk help 来临时查看一下就好

sdkman 卸载

如果我们不喜欢 sdkman 了,我们也可以轻松的卸载掉它:

$ tar zcvf ~/sdkman-backup_$(date +%F-%kh%M).tar.gz -C ~/ .sdkman
$ rm -rf ~/.sdkman
Nach dem Login kopieren

最后打开你的 .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"
Nach dem Login kopieren

我用的 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!

Verwandte Etiketten:
Quelle:cnblogs.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!