Создание исполняемого файла Linux из набора файлов / каталогов

У меня есть каталог с небольшой структурой:

script.sh
dist/
dist/program.jar
log/
log/error.log
conf/
conf/program.conf

script.sh выполняет некоторые проверки и запускает program.jar с большим количеством параметров.

Есть способ инкапсулировать всю эту структуру в один файл (например, directory.app исполняемые файлы в OSX) и сделать этот файл исполняемым?

2
задан 13 May 2014 в 18:43

1 ответ

Нет, Вы не можете выполнить единственный исполняемый файл и иметь Вашу работу программы без того, чтобы быть распакованным. Причина состоит в том, что Ваша программа ожидала бы быть в состоянии получить доступ к своим файлам с помощью стандарта syscalls, и если Вам упакуют те файлы в архиве, они не будут видимы к Linux.

то, Что можно сделать, использовать makeself для создания единственного самоизвлекаемого исполняемого архива. Тогда Ваш пользователь выполнил бы исполняемый файл, он извлечет файлы из архива, и затем пользователь может запустить установленную программу.

Другая альтернатива, так как Вы используете Java, должна упаковать файлы в архиве .jar и реструктурировать Ваш код. Тогда Вы могли распределить единственный .jar файл, и пользователь выполняет его с java -jar.

0
ответ дан 13 May 2014 в 18:43

Другие вопросы по тегам:

Похожие вопросы: