2012-03-20 30 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包装器,所以你的构建不会依赖于操作系统。

相关问题