2009-02-26 3 views
15

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

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

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

ответ

31

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

+0

работает как очарование! – Epaga

+5

Это довольно старый вопрос, но для тех, кто получает команду «.command не может быть выполнен, потому что у вас нет соответствующих прав доступа.», Как и я, выполните следующие действия в терминале: 'chmod u + x/path/to/file.command', и это должно избавиться от этой проблемы. – asherbar

+0

@ user2016436 Я не хочу добавлять 'chmod u + x' для запуска файла, так как исполняемый файл будет запущен на клиенте. что мне делать? –

2

Вы можете использовать .sh (Shell Script), ведь MacOSX является Unix!

4

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

1

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