Java auf neuem Mac

boberl

Aktives Mitglied
Thread Starter
Dabei seit
06.05.2005
Beiträge
680
Reaktionspunkte
32
Hi Community,
ich muß einen Ersatz für Java auf einem neuen Mac (M1 Chip) installieren. Dazu gibt es ja verschiedene Alternativen, aber die funktionieren alle nicht. Kann mir bitte jemand helfen? Ich bin da leider kein großer Experte. :(((

Ich mache das so:

1) Das Programm im Web suchen. Z. B. https://adoptopenjdk.net/archive.html?variant=openjdk11&jvmVariant=hotspot und runterladen.
2) Doppelklicken, der Installationswizard führt mich durch die Installation. Er sagt dann immer, dass die neue Software in der Library unter Java/virtualmachines/xyz installiert wurde. (xyz ist je nach Programm halt ein anderer Name)

Wenn ich im Terminal eingebe: java --version dann sehe ich auch, dass etwas installiert wurde. In der Library ist aber kein Ordner "Java". Ich suche natürlich in der "richtigen" Library, die eigentlich versteckt ist.

Zusätzlich sollte ich jertzt auch noch Java Home definieren, wenn ich das richtig verstehe.Das wäre dann im Terminal über export JAVA_HOME=$(/usr/libexec/java_home) Das funktioniert auch nicht. Es gibt also zwei Probleme:
- Wieso sehe ich den Ordner "Java" nicht?
- wie richte ich das dann weiter ein?

Danke für Tipps, Ich hab den ganzen Samstag Abend bis 1h früh damit zugebracht. Stehe echt auf der Leitung... :(
Raphael
 
Wenn Du uns noch schreibst, welches andere Programm von Java abhängt, lässt sich vielleicht sagen wie Du diesem anderen Programm sagen kannst, wo sich Java befindet. Ob es einen Ordner namens java gibt, ist übrigens egal. Der kann auch jvm oder jdk oder jre oder blubb heißen.
 
Gib im Terminal mal
which java
ein, da siehst du wo das Binary liegt und damit wohl auch den Pfad.
 
Ich suche natürlich in der "richtigen" Library, die eigentlich versteckt ist.

Java wird nicht in der "versteckten" Library (= die in deinem Homeverzeichnis installiert) sondern in der systemweiten Library, als in /Library
 
Zusätzlich sollte ich jertzt auch noch Java Home definieren, wenn ich das richtig verstehe.Das wäre dann im Terminal über export JAVA_HOME=$(/usr/libexec/java_home) Das funktioniert auch nicht. Es gibt also zwei Probleme:
- Wieso sehe ich den Ordner "Java" nicht?
- wie richte ich das dann weiter ein?
Zur ersten Frage: Wenn ich adoptopenjdk installiere, landet das auf meinem M1 Macbook in /Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk. Das passt zu dem, was auf der adoptopenjdk webseite dokumentiert ist.

which java

liefert bei mir

/usr/bin/java

und

java —version

zeigt auch die richtige Version an. Das passt alles. Programme sollten also die Java Runtime finden.

Falls dein Java-Programm die JAVA_HOME Umgebungsvariable braucht, musst Du die in der Tat mit

export JAVA_HOME=$(/usr/libexec/java_home)

setzen. Diese Zeile ruft das Program java_home auf, was den aktuellen Pfad des Java Homeverzeichnis liefert. Dieser wird dann der Variable JAVA_HOME zugewiesen. Das export… wirkt aber nur in der aktuellen Terminal-Session. D.h. nur Programme, die du in dieser Terminal-Session startest, sehen diese Variable. Und wenn die Variable dauerhaft gesetzt werden soll, müsstest Du die Zeile in der .bashrc oder .zshrc eintragen, je nachdem, ob Du bash oder zsh als Shell verwendest. Zsh ist Standard. Danach Terminal neu starten,

env

eingeben und nachsehen, ob JAVA_HOME in der Liste auftaucht.
 
  • Gefällt mir
Reaktionen: boberl und gishmo
Zur Ergänzung der Ausführung von @mh2019:

Du musst den Export in der Datei .zprofile iin deinem User Home Directory eintragen.
 
Schönes Sonntagsfernsehen - Ich freu mich jetzt schon auf den nächsten Thread wenn ein zweites Java Programm auf den Rechner muss und eine andere Version braucht = dann parallel mehrere JRT konfiguriert werden müssen ...
 
Schönes Sonntagsfernsehen - Ich freu mich jetzt schon auf den nächsten Thread wenn ein zweites Java Programm auf den Rechner muss und eine andere Version braucht = dann parallel mehrere JRT konfiguriert werden müssen ...
Ja danke. Von meiner Seite her finde ich es ein ganz klein bisschen weniger lustig. Aber die Geschmäcker sind halt verschieden.
 
Java wird nicht in der "versteckten" Library (= die in deinem Homeverzeichnis installiert) sondern in der systemweiten Library, als in /Library
Und wo ist die? Wenn ich in Spotlight ein Verzeichnis "Java" suche, sehe ich keine Ergebnisse. Daher nahm ich an, es würde in der Linbrary im Homeordner installiert.
 
Und wo ist die? Wenn ich in Spotlight ein Verzeichnis "Java" suche, sehe ich keine Ergebnisse. Daher nahm ich an, es würde in der Linbrary im Homeordner installiert.
Java gehört in die System-Library die direkt auf Ebene 1 der Platte liegt, zB <Macintosh HD/Library>.
 
/usr/bin/java ist nicht die eigentliche Java Runtime, sondern findet automatisch heraus, wo die eigentlich installiert ist und führt diese dann aus.

Ich habe jes-eur gerade mal runtergeladen, um es auszuprobieren. Doppelklick auf die DMG hat schon mal kein Fenster geöffnet, aber die DMG trotzdem gemountet, sodaß ich jes-eur via Finder in meinen /Programme Ordner ziehen konnte.

Vorher hatte ich eine Java Runtime von hier installiert: https://adoptium.net. Runtergeladen, Doppelklick auf die Datei, Installer durchgeklickt, fertig. Irgendwelche Umgebungsvariable, etc. musste ich nicht setzen.

jes-eur startete danach einfach via Doppelklick auf das Programmicon (Allerdings mit dem üblichen Prozedere, das macOS die Ausführung erst mal unterbindet, weil der jes-eur Hersteller das Programm nicht sauber signiert hat, und man es nach dem ersten Versuch über Systemeinstellungen-Sicherheit freischalten muss.

Nachtrag: Das funktioniert nur, wenn ich die Intel (x64) Version der Java Runtime installiere. Nutze ich die M1 Version (aarch64), bekomme ich beim Start diesen Fehler:

Dynamic library location:
/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home/lib/libjli.dylib

Keine Ahnung, was jes-eur da macht. Ist ja eigentlich Java, sollte also keine Rolle spielen.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: ruerueka, Schiffversenker und thorstenhirsch
Und wo ist die? Wenn ich in Spotlight ein Verzeichnis "Java" suche, sehe ich keine Ergebnisse. Daher nahm ich an, es würde in der Linbrary im Homeordner installiert.
Möglicherweise findet man systemnahe Dateien besser über die Findersuche (cmd-f). Da kann man einstellen, daß versteckte und Systemdateien eingeschlossen werden. Möglicherweise ist die normale Spotlight-Anzeige da eingeschränkt zum Alltagsgebrauch durch "Normalbenutzer".
 
Dynamic library location:
/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home/lib/libjli.dylib

Keine Ahnung, was jes-eur da macht. Ist ja eigentlich Java, sollte also keine Rolle
Sicher, das jes-eur schon Java 17 verträgt? Die ist ja brandneu... ich würde es mit der Java 11 LTS versuchen...
 
Hi,
sorry, ich arbeite hier auf mehreren Ebenen gleichzeitig. Einerseits versuche ich auf dem alten Rechner auf dem die Datei liegt, ein altes OS aufzuspielen, damit ich das Programm dort nutzen kann. Das funktioniert leider nicht, wie gewünscht. Andererseits versuche ich auf dem aktuellen Rechner Java zum Laufen zu kriegen. Daher die langen Pausen... Grob gesagt: Genau die richtige Sonntagsbeschäftigung, die man sich wünscht. ;)

Zurück zum Thema: Falls mir da jemand helfen könnte, wäre es S-U-P-E-R. ;) Ich erkläre vielleicht, wie es gerade aussieht und was ich plane:
1) Ich habe jetzt mal alternative Software aus mehren Quellen installiert, keine funktioniert mit Plug&Play und außerdem finde ich sie nicht mehr. (Wow. ;) ) Schritt 1 wäre es also den Ort, an dem die installierten Dateien liegen, erst mal zu lokalisieren und nur eine Datei übrig zu lassen. Dazu füge ich den Screen bei, weil wie erwähnt, ich verstehe gar nichts mehr.

2) Danach kann ich noch versuchen diese eine Datei, die übrig bleibt, zum Laufen zu bringen. Das sollte ich vielleicht erst machen, wenn ich die Dateien überhaupt lokalisiert habe.

Vorab ein dickes D-A-N-K-E!
 

Anhänge

  • Bildschirmfoto 2021-10-10 um 11.41.57.png
    Bildschirmfoto 2021-10-10 um 11.41.57.png
    81,3 KB · Aufrufe: 95
Zuletzt bearbeitet:
Java Runtimes unter macOS liegen in jeweils einem eigenen Unterverzeichnis in /Library/Java/JavaVirtualMachines.

Hast du mehrere installiert, zeigt dir der Befehl

/usr/libexec/java_home

an, welche gerade standardmäßig genutzt wird. Wenn Du eine Java-VM loswerden willst, lösche das entsprechende Verzeichnis in /Library/Java/JavaVirtualMachines
 
Zurück
Oben Unten