Jak uruchomić słoik po dwukrotnym kliknięciu?


10

Tak więc, dwukrotnie klikam mój plik jar i po prostu miga okno z białym ekranem, a następnie znika. Następnie klikam prawym przyciskiem myszy i wybieram „Otwórz za pomocą programu uruchamiającego jar”, ​​to jest to samo. też. Otworzyłem Terminal i napisałem, a java -jar "System FRONT.jar"potem otworzyło się idealnie.

Chcę, aby otwierał się bezpośrednio po dwukrotnym kliknięciu! Jak mogę to zrobić?


Prawdopodobnie otwiera okno terminala, kończy, a następnie zamyka okno terminala.
The Unfun Cat

Aby debugować w Terminal.app - goto Preferencje-> Ustawienia wybierz zakładkę Shell i zmień opcję „Po wyjściu powłoki”, terminal pozostanie otwarty
użytkownik151019

Odpowiedzi:


5

Możesz dodać krótki skrypt do .jar, aby był on wykonywalny poprzez podwójne kliknięcie. W terminalu wykonaj następujące czynności:

$ 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

Dwukrotne kliknięcie executable_apppowinno teraz uruchomić aplikację.


Dlaczego to w ogóle działa? Cóż, .jar to tylko archiwum .zip, które jest rozpakowywane i wykonywane przez java. A format zip pozwala na wstawienie dodatkowych rzeczy przed faktycznym archiwum. Każdy zip unarchiver pomija tę część, dopóki nie znajdzie początku archiwum (wskazane przez PK ... ).


2

Najlepszym sposobem, aby aplikacja GUI Java działała z OSX, jest spakowanie jej jako aplikacji. Wymaga to jar Bundler.app, który na Lion jest w /usr/share/java/Tools/Jar Bundler.app. Myślę, że jest zainstalowany jako część Xcode, ale wydaje się, że nie ma go w aktualnej dokumentacji Apple, więc może nie być obsługiwany. Stara dokumentacja jest tutaj

Wygląda na to, że istnieją zadania związane z mrówkami w AppBundler, które są udokumentowane w dokumentacji Oracle JavaSE .


Właściwie to gra. Jak więc zmusić ludzi do dwukrotnego kliknięcia i otwarcia słoika bez poleceń?
SystemNetworks

Inni użytkownicy wolą to jako aplikację OSX niż tylko .jar. W tym przypadku robisz to raz w ramach procesu kompilacji, a użytkownicy nie muszą nic robić
użytkownik151019

0

pakujący

Możesz użyć packr, aby spakować swoje urządzenie w jarcelu łatwej dystrybucji i kliknij dwukrotnie, aby otworzyć:

Pakuje plik JAR, zasoby i maszynę JVM do dystrybucji w systemie Windows (ZIP), Linux (ZIP) i Mac OS X (.app), dodając natywny plik wykonywalny, aby wyglądał, jakby aplikacja była aplikacją natywną. Packr jest najbardziej odpowiedni dla aplikacji GUI, takich jak gry wykonane w libGDX

packr został omówiony w Hacker News i jest projektem typu open source.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.