Come faccio a lanciare un barattolo quando faccio doppio clic su di esso?

10

Quindi faccio doppio clic sul mio file jar e lampeggia appena una finestra con lo schermo bianco, quindi scompare. Successivamente, faccio clic con il pulsante destro del mouse e seleziona "Apri con jar launcher" è lo stesso. pure. Ho aperto Terminal e ho digitato java -jar "System FRONT.jar" , quindi si è aperto perfettamente.

Voglio che venga aperto direttamente quando si fa doppio clic su di esso! Come faccio?

    
posta SystemNetworks 24.09.2012 - 13:28
fonte

3 risposte

5

Puoi anteporre un breve script a .jar per renderlo eseguibile tramite doppio clic. In Terminale fai quanto 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

Ora fare doppio clic su executable_app dovrebbe avviare l'applicazione.

Perché 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 ulteriori elementi di fronte all'archivio reale. Qualsiasi zip unarchiver salta questa parte fino a quando non trova l'inizio dell'archivio (indicato da PK ... ).

    
risposta data 24.09.2012 - 14:42
fonte
2

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

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

    
risposta data 24.09.2012 - 14:17
fonte
0

packr

Puoi utilizzare packr per impacchettare il jar per una facile distribuzione e fare doppio clic per aprire:

Packages your JAR, assets and a JVM for distribution on Windows (ZIP), Linux (ZIP) and Mac OS X (.app), adding a native executable file to make it appear like the app is a native app. Packr is most suitable for GUI applications, such as games made with libGDX

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

    
risposta data 05.05.2014 - 12:07
fonte

Leggi altre domande sui tag