如何为我的Java Web应用程序创建Debian包?

时间:2012-03-20 16:34:55

标签: java web-applications debian packaging

Kunagi是一个简单的Java Web应用程序,我们已经为我们的用户创建了一个二进制.deb包。此程序包取决于tomcat6,只需将.war文件放入/var/lib/tomcat6/webapps即可。这在Debian和Ubuntu上很有用。

现在我想创建一个可以集成到Debian的真正源代码包。可悲的是,我找不到任何教程。有很多关于CDBS,DH7或javahelper等工具及其命令的分数信息。但是我应该使用哪一个?

我也有一些概念性问题:

  1. 通常,通过将webapp复制到Web容器的webapps目录中来安装Web应用程序。那么让我的包依赖于tomcat6并将我的webapp直接安装到/var/lib/tomcat6/webapps中是否正确?或者我的webapp应该安装在其他地方,提供单独的Tomcat配置并与其自己的用户一起运行,就像其他服务一样吗?

  2. 我的webapp使用其他项目中的库(JAR)。通常这些都放在webapp目录的WEB-INF/lib子目录中。由于在Debian中不允许在包中包含库,将这些项目作为依赖项添加到我的包中并在我的WEB-INF/lib目录中创建符号链接是否正确?或者我该如何解决这个问题?

  3. 我的webapp需要写文件(应用程序数据)。由于Tomcat在Debian上以用户www-data运行,因此我的webapp可以写的唯一目录是/var/lib/tomcat6/webapps。这是放置我的数据的正确位置吗?或者我的包应该创建类似/var/lib/my-webapp-name/的内容并为用户www-data授予写入权限吗?

1 个答案:

答案 0 :(得分:1)

嗯......如果你必须创建Debian软件包,那么有一个很棒的jdeb库可以同时适用于antmaven。最好的功能是它不需要任何dpkg包装器,因此你的构建将不依赖于os。