webentwicklung-frage-antwort-db.com.de

Wann und Warum führen Sie Alternativen aus - Installieren Sie Java Jar Javac Javas bei der Installation von Jdk in Linux

Um Java in Linux zu installieren (ich habe CentOS verwendet, RHEL ist auch dasselbe), habe ich diesen Befehl verwendet

rpm -Uvh /path/to/binary/jdk-7u55-linux-x64.rpm

und verifiziertes Java

Java -version

Wenn Sie sich ein Tutorial ansehen, heißt es, dass Sie die folgenden 4 Befehle ausführen sollen, nicht wissen, warum

## Java ##
alternatives --install /usr/bin/Java java /usr/Java/latest/jre/bin/Java 200000
## javaws ##
alternatives --install /usr/bin/javaws javaws /usr/Java/latest/jre/bin/javaws 200000

## Install javac only
alternatives --install /usr/bin/javac javac /usr/Java/latest/bin/javac 200000
## jar ##
alternatives --install /usr/bin/jar jar /usr/Java/latest/bin/jar 200000

Ich weiß, wenn mehrere Java-Versionen installiert sind, können Sie die Version auswählen, von der aus sie verwendet werden soll

alternatives --config Java

warum sollten Sie alternative --install für jede ausführbare Datei separat ausführen.

Ich habe diese Frage gesehen, bekomme aber meine Antwort nicht

9
Charu Khurana

Wenn Sie JDK unter Linux installieren, wird es installiert. Dies hängt von der Art des Pakets, der Version und der Verteilung ab. Informationen zum Installationspfad unter Linux finden Sie unter den folgenden Links:

JDK-Installation für Linux-Plattformen - Version 8

JDK-Installation für Linux-Plattformen - Version 7

Nach der Installation von JDK wird der Ordner bin, der Tools enthält, möglicherweise nicht zur Umgebungsvariablen PATH hinzugefügt. Befehle, die im Terminal eingegeben werden, müssen von den in der Variablen PATH angegebenen Positionen stammen. Wenn JDK\bin nicht hinzugefügt wird, muss der Benutzer sie manuell konfigurieren, wie unter JDK-Software installieren beschrieben.

Mit dem Befehl alternatives wird ein symbolischer Link erstellt. Hier wird angewiesen, den Befehl zu verwenden, um die Tools wie javac, javaw zu /usr/bin hinzuzufügen, die standardmäßig in der Variable PATH vorhanden sind.

If ( Sie könnten Java -version außerhalb von JDK/bin&& ausführen, indem Sie nicht den vollständigen Pfad && angeben, wenn die Version und das Paket so gedruckt werden, dass es dem installierten Paket entspricht) { Sie müssen den Befehl alternatives nicht ausführen .}

7
James Jithin

Java, javaws, javac und jar sind verschiedene vom JDK verwendete ausführbare Dateien. Wenn Sie alternatives --config Java ausführen, konfigurieren Sie nur, welche Version der ausführbaren Java-Datei Sie ausführen möchten. Das JDK enthält jedoch beispielsweise den Compiler javac. Sie müssen konfigurieren, welche Version des Compilers Sie ebenfalls verwenden möchten.

Der Befehl alternatives wird in kurzen Worten verwendet, um eine Suche nach symbolischen (oder sym) Links durchzuführen. Bevor Sie auswählen können, welche Version von Java Sie mit der Option --configure ausführen möchten, müssen Sie zuerst den tatsächlichen Pfad zur ausführbaren Datei mit der Option --install registrieren. alternatives --install installiert keine Software. Es werden lediglich einige Pfade und Aliasnamen mit dem alternatives-Framework registriert. (Hinweis: alternatives verwendet nicht den Befehl alias. Ich meine "Aliasnamen" im traditionellen Sinne.)

Sie sollten auch verstehen, was der Befehl rpm bewirkt. In Wirklichkeit werden nur Binärdateien in einem bestimmten Verzeichnis abgelegt. Dieses Verzeichnis kann lang und langwierig sein, um Folgendes explizit anzugeben: /some/path/to/lib/jvm/Java-1.x.x-etc-etc-x86/jre/bin/Java. Sie möchten dies nicht jedes Mal angeben, wenn Sie Java ausführen möchten. Stattdessen haben wir einige Sym-Links eingerichtet.

Vielleicht möchten Sie auch wissen, wie PATHin Linux funktioniert.

Es kann klarer werden, wenn Sie versuchen, durch das Setup Ihres Computers zu suchen. Hier ist was ich lief:

> which Java
/usr/bin/Java
> ls -l /usr/bin/Java
lrwxrwxrwx 1 root root 22 Aug 14  2014 /usr/bin/Java -> /etc/alternatives/Java
> ls -l /etc/alternatives/Java
lrwxrwxrwx 1 root root 73 Aug 14  2014 /etc/alternatives/Java -> /usr/lib/jvm/Java-1.7.0-openjdk-1.7.0.65-2.5.1.2.fc19.x86_64/jre/bin/Java
4
djs

So erhalten Sie eine andere Version von Java JRE/JDK als Standard in Ihrem Betriebssystem:

Sudo alternatives --install /usr/bin/Java java [path_to_Java_bin] 1 

Beispiel in meinem Fall war:

Sudo alternatives --install /usr/bin/Java java /usr/Java/jdk1.7.0_80/bin/Java 1 

Führen Sie dann eine Konfiguration aus, um die alternative Java-Version auszuwählen:

 Sudo /usr/sbin/alternatives --config Java

Wählen Sie 1,2 oder die gewünschte Option

Überprüfen Sie dann die Änderungen, indem Sie Folgendes tun:

Java -version
0
cepix

Diese "alternativen" Skripts und ähnliche Tools verknüpfen lediglich Binärdateien der gewünschten JDK-Version mit den Verzeichnissen, von denen sie erwarten. Es wird für alle Befehle ausgeführt, die in Ihrer Befehlszeile verfügbar sein sollten.

Die Definition von "Alle" hängt von Ihrer Distribution ab.

0
Rostislav Matl

Für Ubuntu benutze update-alternatives

0