it-swarm.com.de

Was ist der Befehl zum Anzeigen aller unter Linux installierten Java-Versionen?

Ich kenne Java-Version. Es ist mir egal, welche Version ich derzeit laufe. Es ist mir egal, welche anderen Versionen auf meiner Linux-Box installiert sind. Wenn es sich um einen anderen Java - * Befehl handelt, habe ich ihn in der Java - Hilfe nicht gesehen.

Ich habe versucht, es zu googeln, aber die Antworten sind entweder für Windows oder sie sagen "benutze Java-Version". Ich weiß, dass ich das schon mal gemacht habe.

31
wheaties

Auf den meisten Linux-Distributionen können Sie update-alternatives wie folgt verwenden:

Sudo update-alternatives --config Java

Es werden alle Pakete aufgelistet, die den Java-Befehl bereitstellen, und Sie können ihn ändern. Wenn Sie es nicht ändern möchten, Ctrl-C daraus.

Es gibt nur einen Haken: Wenn Sie eine Java ohne den offiziellen Paketmanager installiert haben (dpkg/apt-get, rpm/yum), aber einfach extrahiert haben, werden Update-Alternativen nicht zeig es.

38
mvp

Du könntest es tun:

find / -name Java 

So finden Sie alle Dateien. Der Paketmanager mit Ihrer Linux-Version sollte auch in der Lage sein, sie aufzulisten.

3
Brad Patton

Sie lassen viel zu wünschen übrig, was die Details Ihres Setups angeht. Java kann unter Linux auf verschiedene Arten installiert werden. Sie können über Ihr Distributionspaket maanger wie apt, yum, yast oder manuell installieren.

Wie auch immer Sie es installiert haben, für eine Java-Installation ist in den meisten Fällen die ausführbare Java-Datei erforderlich, sodass Sie die Befehle locate oder find verwenden können, um die verschiedenen zu finden.

Ein Beispiel, das höchstwahrscheinlich Links und Duplikate findet, aber die Verzeichnisnamen sollten Ihnen dabei helfen, sie zu lokalisieren:

for f in $(locate -ber '^Java$'); do test -x && echo "$f"; done
1
maedox

Bisher habe ich Folgendes verwendet, um die Java 8-Installation für eine Anwendung zu ermitteln, für die eine Umgebungsvariable festgelegt werden musste, damit eine Java-Version verwendet werden konnte, die nicht als Standard festgelegt wurde:

update-Java-alternatives -l Java-8-Oracle

Das hat heute jedoch aufgehört zu funktionieren. Das update-Java-alternatives-Skript/-Programm ist auf meinem Ubuntu 14.04-System nicht mehr installiert. Was jetzt installiert ist, ist alternatives.

Was ich jetzt benutze, um einen bestimmten alternativen Java-Pfad zu erhalten, ist:

alternatives --display Java | grep priority | grep jdk-1.8

Anschließend kann ich das Ergebnis massieren, um zu ermitteln, was für die Umgebungsvariable meiner App erforderlich ist.

1
MorganGalpin

Ich benutze dies, um die verfügbaren Java-Installationen aufzulisten:

Sudo update-alternatives --display Java
1
Jaime C Vega