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.