Эквивалентен двойному щелчку .sh и .bat на Mac?

Я распространяю программу Java, в которой я хочу запустить файл с двойным щелчком.

java -cp MyProgram.jar;MyLib.jar my.program.Main

В Windows я просто распространяю файл .bat, для * nix - исполняемый файл .sh. Проблема в том, что двойной щелчок по файлу .sh просто открывает его в текстовом редакторе на Mac. Что мне делать для Mac?

Ответов (4)

Решение

На Mac есть специальное расширение для выполнения сценариев оболочки двойным щелчком по ним: это .command .

Вы можете использовать .sh (сценарий оболочки), ведь MacOSX - это Unix!

Для приложений Java на Mac вам действительно следует использовать Apple Jar Bundler (в папке Developer Tools / Applications / Utilities; на самом деле символическая ссылка на / usr / share / java / Tools / Jar Bundler). Он позволяет вам создать подходящее приложение для OS X с двойным щелчком, включая настройку предпочтений, например, для использования панели инструментов Mac, версии JVM, графической системы, метаданных приложения OS X и пути / ресурсов к классам.

Ответ об использовании инструмента Jar Bundler правильный, но если вы хотите использовать файл .sh, убедитесь, что права доступа unix установлены правильно на что-то вроде 755 с CHMOD, и убедитесь, что первая строка содержит путь к установленной оболочке по умолчанию в Mac OS X. Также обратите внимание, что даже с установленным битом + x он все равно может спросить пользователя, хотят ли они открыть его или запустить.