Как создать пакет Debian для моего веб-приложения Java?

Kunagi - это простое веб-приложение Java, для которого мы уже создаем для наших пользователей двоичный пакет .deb. Этот пакет зависит от tomcat6 и просто помещает файл .war в /var/lib/tomcat6/webapps. Это отлично работает на Debian и Ubuntu.

Теперь я хочу создать реальный исходный пакет, который можно интегрировать в Debian. К сожалению, я не могу найти учебник. Существует много фракционированной информации о таких инструментах, как CDBS, DH7 или javahelper и их командах. Но какой я должен использовать?

У меня также есть некоторые концептуальные вопросы:

  • Обычно веб-приложения устанавливаются путем копирования webapp в каталог webapps веб-контейнера. Тогда было бы правильно сделать мой пакет зависимым от tomcat6 и установить мой webapp непосредственно в /var/lib/tomcat6/webapps? Или должен ли мой webapp быть установлен в другом месте, предоставляя отдельную конфигурацию Tomcat и запускаться со своим собственным пользователем, как и другие службы?

  • Мой webapp использует библиотеки (JAR) из других проектов. Обычно они помещаются в подкаталог WEB-INF/lib каталога webapp. Поскольку включение библиотеки в пакет не допускается в Debian, было бы правильным добавить эти проекты в качестве зависимостей в мой пакет и создать символические ссылки в моем каталоге WEB-INF/lib? Или как я могу решить эту проблему?

  • Мой webapp должен писать файлы (данные приложения). Поскольку Tomcat работает как пользователь www-data на Debian, единственным каталогом, который может написать мой webapp, является /var/lib/tomcat6/webapps. Является ли это подходящим местом для размещения моих данных? Или должен ли мой пакет создать что-то вроде /var/lib/my-webapp-name/ и предоставить разрешения на запись для пользователя www-data?

Ответ 1

Ну... Если вам нужно создать пакет Debian, есть большая библиотека jdeb, которая работает как для ant и maven. Лучшей особенностью является то, что он не требует каких-либо оберток dpkg, поэтому ваша сборка не будет зависимой от ОС.