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

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

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

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

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

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

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

1 Ответ

1 голос
/ 15 августа 2016

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

...