Wie starte ich ein Glas, wenn ich darauf doppelklicke?

10

Also doppelklicke ich auf meine JAR-Datei und sie blinkt nur ein Fenster mit weißem Bildschirm, dann verschwindet sie. Danach klicke ich mit der rechten Maustaste und wähle "Mit JAR Launcher öffnen". Es ist dasselbe. auch. Ich habe Terminal geöffnet und tippe, java -jar "System FRONT.jar"dann hat es sich perfekt geöffnet.

Ich möchte, dass es direkt geöffnet wird, wenn Sie darauf doppelklicken! Wie mache ich das?

SystemNetworks
quelle
Es öffnet wahrscheinlich ein Terminalfenster, beendet und schließt dann das Terminalfenster.
Die Unfun Cat
Um in Terminal.app zu debuggen - gehen Sie zu Einstellungen-> Einstellungen, wählen Sie die Registerkarte Shell und
ändern Sie die

Antworten:

5

Sie können der .jar-Datei ein kurzes Skript voranstellen, um sie per Doppelklick ausführbar zu machen. Gehen Sie im Terminal wie folgt vor:

$ cat > header-template <<"EOF"
#!/bin/sh

exec java -jar $0 "$@" > /dev/null

EOF
$ cat header-template "System FRONT.jar" > executable_app
$ chmod +x executable_app

Ein Doppelklick executable_appsollte nun die Anwendung starten.


Warum funktioniert das überhaupt? Nun, ein .jar ist nur ein .zip-Archiv, das von Java entpackt und ausgeführt wird. Und das Zip-Format ermöglicht es, zusätzliche Inhalte vor das eigentliche Archiv zu stellen. Jeder ZIP-Unarchiver überspringt diesen Teil, bis er den Anfang des Archivs findet (angezeigt durch PK ... ).

nohillside
quelle
2

Der beste Weg, um eine Java-GUI-Anwendung mit OSX zum Laufen zu bringen, besteht darin, sie als Anwendung zu bündeln. Dies erfordert Jar Bundler.app, auf dem sich Lion befindet /usr/share/java/Tools/Jar Bundler.app. Ich denke, es ist als Teil von Xcode installiert, scheint aber nicht in der aktuellen Dokumentation von Apple enthalten zu sein und wird daher möglicherweise jetzt nicht unterstützt. Alte Dokumentation ist hier

In Appbundler, das in der Oracle JavaSE-Dokumentation dokumentiert ist, scheint es dafür Aufgaben zu geben .

user151019
quelle
Eigentlich ist es ein Spiel. Wie kann ich Leute dazu bringen, darauf zu doppelklicken und mein Glas ohne Befehle zu öffnen?
SystemNetworks
Andere Benutzer bevorzugen es als OSX-App und nicht nur als .jar. In diesem Fall tun Sie es einmal als Teil des Erstellungsprozesses und Benutzer müssen nichts tun
user151019
0

packr

Sie können packr verwenden , um Ihre jarfür die einfache Verteilung zu verpacken und zum Öffnen doppelklicken :

Packt Ihre JAR, Assets und eine JVM für die Verteilung unter Windows (ZIP), Linux (ZIP) und Mac OS X (.app) und fügt eine native ausführbare Datei hinzu, damit sie so aussieht, als wäre die App eine native App. Packr eignet sich am besten für GUI-Anwendungen, z. B. Spiele, die mit libGDX erstellt wurden

packr wurde in den Hacker News diskutiert und ist ein Open Source Projekt.

Graham Miln
quelle