2012-03-20 75 views
11

Kunagi是一個簡單的Java Web應用程序,我們已經爲其爲用戶創建了一個二進制.deb包。該軟件包取決於tomcat6,只是將.war文件放入/var/lib/tomcat6/webapps。這對Debian和Ubuntu非常有用。如何爲我的Java Web應用程序創建Debian軟件包?

現在我想創建可以集成到Debian的一個真正的源代碼包。可悲的是我找不到任何教程。有很多關於CDBS,DH7或javahelper等工具的細分信息及其命令。但是我應該使用哪一個?

我也有一些概念上的問題:

  1. Usualy,Web應用程序通過複製Web應用到webapps目錄的Web容器的安裝。那麼讓我的包依賴於tomcat6並將我的webapp直接安裝到/var/lib/tomcat6/webapps中是否正確?或者我的webapp應該安裝在其他地方,提供一個單獨的Tomcat配置,並像其他服務一樣使用自己的用戶運行?

  2. 我的web應用程序使用從其他項目庫(JAR文件)。 Usualy這些被放置在webapp目錄的WEB-INF/lib子目錄中。由於在Debian中不允許將程序包包含在軟件包中,將這些項目作爲依賴項添加到我的軟件包中並在我的WEB-INF/lib目錄中創建符號鏈接是否正確?或者我會如何解決這個問題?

  3. 我的web應用程序需要寫文件(應用程序數據)。由於Tomcat在Debian上以用戶www-data運行,我的web應用程序可以編寫的唯一目錄是/var/lib/tomcat6/webapps。這是放置我的數據的正確位置嗎?或者我的軟件包應該創建一些類似/var/lib/my-webapp-name/的文件,併爲用戶www-data授予寫入權限?

+0

在這裏通知Debian開發者這個問題的最佳方式是什麼? – Witek 2012-03-22 10:55:07

+0

你有一個deb包,把戰爭放在tomcat上。你能分享一下嗎?我們正在嘗試做同樣的事情。 – 2016-02-16 17:39:23

+0

這真的需要成爲一個.deb包嗎?你可以用tomcat和你的webapp創建docker conatiner(https://www.docker.com/)。容器像虛擬機一樣工作,bud docker允許您輕鬆地進行更改並共享它。您的客戶只需要從Debian存儲庫安裝docker並運行一個命令來下載並運行您的容器。如果這可以被視爲解決方案,我可以舉一個例子。你的容器已經可以嵌入tomcat了,你可以修改這個公共容器映像(https://hub.docker.com/_/tomcat/)。 – Damian 2016-03-14 11:27:08

回答

1

嗯......如果你需要創建Debian軟件包相比,還有很大的jdeb庫,它同時適用於antmaven。最好的特性是它不需要任何dpkg包裝器,所以你的構建不會依賴於操作系統。

相關問題