Как я могу скомпилировать / упаковать Java .jar как инструмент командной строки Mac OS X? - PullRequest
1 голос
/ 06 апреля 2011

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

$ java -jar /path/to/jarfile/myJavaCommand.jar -some other arguments ...

Я бы предпочел вызвать его, как любой другой инструмент командной строки:

$ myJavaCommand -some other arguments ...

У меня есть исходники .java и Makefile, который превращает их в файлы .class и упаковывает их в.jar.

Я нашел документацию по превращению программ Java в пакеты Mac OS X с двойным щелчком «.app», но я не думаю, что это то, чего я хочу, потому что мне нужен один исполняемый файл, который я могуперейдите, скажем, к /usr/local/bin, чтобы я мог легко вызвать его из Терминала с различными аргументами (и без ввода длинных путей).

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

Так есть ли способСкомпилировать / упаковать программу Java как однофайловый инструмент командной строки Mac OS X?

Ответы [ 2 ]

0 голосов
/ 06 апреля 2011

Посмотрите на YAJSW , который оборачивает Java-приложения для более удобного запуска на нативных платформах.

У вас все еще будет большой каталог материалов для копирования;Я не знаю, решит ли он ваши конкретные вопросы по OS X, но мы используем его для запуска Windows, и он работает хорошо.

0 голосов
/ 06 апреля 2011

К сожалению, вы не можете.Подход сценария оболочки в значительной степени таков.

Ваш Java-код не является нативно исполняемым, он выполняется JVM.Кроме того, файл jar на самом деле является zip-архивом ... поэтому оболочка просто не имеет ни малейшего представления, что с ним делать.

...