2009-11-26 3 views
3

В настоящее время я пишу Java-демон. Я пишу скрипт, который будет иметь стандартные команды демона (запуск, остановка, перезапуск, статус), и я пытаюсь решить, куда все должно идти при установке демона.Linux Daemon написан на языке Java

Моя текущая идея заключается в том:
PID файла: /var/run/myapp.pid
Daemon Сценарий: /etc/init.d/myapp
Java App (. банку):/USR/бен/MyApp
Журналы: /var/log/myapp.err, /var/log/myapp.log, /var/log/myapp.info (вы получите идею)
Configs: /etc/myapp.conf (или /и т.д./MYAPP/конфиги -go-here, если у меня будет более одного в будущем)

Я все еще новичок в структуре каталогов Linux, поэтому, если я что-то делаю неправильно, дайте мне знать. Что меня сбивает с толку, так это то, что мое Java-приложение является файлом .jar (архив), а не двоичным. Значит ли это, что /usr/bin/ не является «правильным» местом для этого?

ответ

2

Вы можете поместить файл .jar в /usr/lib/myapp/myapp.jar и сделать сценарий запуска сделать java -j /usr/lib/myapp/myapp.jar

Глядя его с той стороны, банку эффективно библиотека, что /usr/bin/java бинарных использования, поэтому эти места хорошо выглядеть для меня.

+0

Я никогда не думал об этом так! Первоначально я думал о файле .jar как о библиотеке, но это было странно, поскольку это было приложение, которое я писал. Но когда вы так выразились, это имеет смысл. Благодаря! – William

+0

Остерегайтесь аддона класса path;) Возможно, вам придется пересмотреть свой МАНИФЕСТ на всякий случай, если ваш демон зависит от других библиотек (и вы использовали относительные пути) –

2

/usr/lib/myapp/myapp.jar предложения находится на правильном пути, но /usr/lib для специфической архитектуры файлов - с Java jar архивов независимой от платформы, /usr/share/myapp/myapp.jar является лучшим местом.

Смежные вопросы