Wie starte ich eine Anwendung mit einem bestimmten JDK?

Ich bin auf Sierra und habe eine Legacy-Anwendung, die die Ausführung von Java 6 anfordert. Ich habe Java 7 installiert und ich habe auch Java SE 6 von Apple installiert, bin mir aber nicht sicher, wie ich die Anwendung dazu zwingen kann, es zu verwenden.

Wenn ich es jetzt starte, startet es nicht richtig, obwohl der Prozess anscheinend begonnen hat:

$ ps -ef | grep Java
501   572     1   0 11:29PM ??         0:04.63 /Applications/Memoir'44 Online.app/Contents/MacOS/JavaApplicationStub

Es mag einige Feinheiten bei JavaApplicationStub und Plists geben, die ich nicht verstehe, aber auf jeden Fall kommt die Anwendung nie über den anfänglichen Start hinaus (Zeichnen eines leeren Fensters) und funktioniert nicht.

Antworten (2)

Es gibt einen Support-Artikel des Entwicklers dieses Spiels, der sich mit einem Problem befasst, bei dem „das Spiel beim Start einfriert (leerer Bildschirm)“ . Es beinhaltet die Installation von Java 1.6 (wie Sie es getan haben) und die manuelle Aktualisierung einer Bibliotheksdatei, libjogl_awt.jnilib. In diesem Artikel heißt es jedoch, dass das Problem beim „[Upgrade] auf High Sierra“ auftritt, sodass dies möglicherweise nicht die Ursache für Ihr Problem ist, wenn Sie noch Sierra ausführen.

Die eine andere Sache, die die Leute möglicherweise tun müssen (ich musste es tun): Aktualisieren Sie die Zertifikate, die von Java 1.6 verwendet werden. Auch dafür gibt es eine Seite: asmodee.helpshift.com/a/memoir-44-online/…

Haben Sie versucht, Java 7 zu deinstallieren? (Selbst wenn dies funktioniert, ist es möglicherweise keine praktikable Problemumgehung, wenn Sie Java 7 oder höher zum Ausführen anderer Programme benötigen. Ich schlage vor, zuerst meine andere Antwort zu versuchen.)

Richtig, ich wollte spätere Java-Versionen nicht entfernen, aber siehe meinen Kommentar zu Ihrer anderen Antwort.