Come eseguo un barattolo quando faccio doppio clic su di esso?


10

Quindi, faccio doppio clic sul mio file jar e lampeggia una finestra con uno schermo bianco e poi scompare. Dopodiché, faccio clic con il pulsante destro del mouse e seleziono "Apri con Jar Launcher", è lo stesso. pure. Ho aperto Terminale e digitato, java -jar "System FRONT.jar"quindi si è aperto perfettamente.

Voglio che venga aperto direttamente facendo doppio clic su di esso! Come lo faccio?


Probabilmente apre una finestra del terminale, termina e quindi chiude la finestra del terminale.
The Unfun Cat,

Per eseguire il debug in Terminal.app - vai a Preferenze-> Impostazioni, seleziona la scheda Shell e modifica l'opzione "Quando Shell esce" il terminale rimarrà aperto
user151019

Risposte:


5

Puoi anteporre un breve script a .jar per renderlo eseguibile con un doppio clic. Nel Terminale procedi come segue:

$ 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

Il doppio clic executable_appdovrebbe ora avviare l'applicazione.


Perché questo funziona in primo luogo? Bene, un .jar è solo un archivio .zip che viene decompresso ed eseguito da Java. E il formato zip consente di anteporre elementi aggiuntivi di fronte all'archivio reale. Qualsiasi unarchiver zip salta questa parte fino a quando non trova l'inizio dell'archivio (indicato da PK ... ).


2

Il modo migliore per far funzionare un'applicazione Java GUI con OSX è raggrupparla come applicazione. Ciò richiede Jar Bundler.app che su Lion è su /usr/share/java/Tools/Jar Bundler.app. Penso che sia installato come parte di Xcode ma sembra non essere nella documentazione corrente di Apple, quindi potrebbe non essere ora supportato. La vecchia documentazione è qui

Sembra che ci siano attività di formica per farlo in appbundler che è documentato nella documentazione Oracle JavaSE .


In realtà è un gioco. Quindi, come posso fare in modo che le persone facciano doppio clic su di esso e apra il mio vaso senza comandi?
SystemNetworks,

Altri utenti lo preferiranno come app OSX piuttosto che come .jar. In questo caso lo fai una volta come parte del processo di compilazione e gli utenti non devono fare nulla
user151019

0

packr

Puoi usare packr per impacchettare il tuo jarper una facile distribuzione e fare doppio clic per aprire:

Confeziona JAR, risorse e una JVM per la distribuzione su Windows (ZIP), Linux (ZIP) e Mac OS X (.app), aggiungendo un file eseguibile nativo per far sembrare che l'app sia un'app nativa. Packr è più adatto per le applicazioni della GUI, come i giochi realizzati con libGDX

packr è stato discusso su Hacker News ed è un progetto open source.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.