Як запустити банку, коли я двічі клацнув її?


10

Отже, я двічі клацаю на своєму файлі банку, і він просто блимає вікном з білим екраном, після чого він зникає. Після цього я клацну правою кнопкою миші та виберіть "Відкрити за допомогою пускової установки", це те саме. теж. Я відкрив термінал і встав, java -jar "System FRONT.jar"потім він відкрився ідеально.

Я хочу, щоб він був відкритий безпосередньо при подвійному клацанні на ньому! Як це зробити?


Це, ймовірно, відкриває вікно терміналу, закінчує і потім закриває вікно терміналу.
The Unfun Cat

Для налагодження в Terminal.app - goto Preferences-> Settings виберіть вкладку Shell та змініть параметр "Коли оболонка виходить", термінал залишиться відкритим
user151019

Відповіді:


5

Ви можете додати короткий сценарій до .jar, щоб зробити його виконаним за допомогою подвійного клацання. У Терміналі зробіть наступне:

$ 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

Подвійне клацання executable_appтепер має запустити програму.


Чому це працює в першу чергу? Ну, .jar - це просто .zip архів, який розпаковується та виконується Java. А формат zip дозволяє додавати додаткові матеріали перед фактичним архівом. Будь-який поштовий знімач пропускає цю частину, поки не знайде початок архіву (вказано ПК… ).


2

Найкращий спосіб змусити програму java gui працювати з OSX - це поєднати її як додаток. Для цього потрібен Jar Bundler.app, який знаходиться на Леві /usr/share/java/Tools/Jar Bundler.app. Я думаю, що він встановлений як частина Xcode, але, схоже, він не знаходиться в поточній документації Apple, тому зараз він не може підтримуватися. Стара документація тут

Здається, є мурашині завдання зробити це в appbundler, який зафіксовано в документації Oracle JavaSE .


Насправді це гра. Тож як я змушую людей двічі клацнути по ньому та відкривати свою банку без команд?
SystemNetworks

Інші користувачі вважають за краще це як додаток для OSX, а не просто .jar. У цьому випадку ви робите це один раз у рамках процесу збирання, і користувачам нічого не потрібно робити
user151019

0

пакувальник

Ви можете використовувати packr для упаковки jarдля легкого розповсюдження та двічі клацніть, щоб відкрити:

Пакує свій JAR, активи та JVM для розповсюдження в Windows (ZIP), Linux (ZIP) та Mac OS X (.app), додаючи власний виконуваний файл, щоб він виглядав так, як додаток є нативним додатком. Packr найбільш підходить для програм GUI, таких як ігри, створені з libGDX

packr обговорювались на Hacker News та є проектом з відкритим кодом.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.