如何为 Java Web 应用程序创建 .deb Debian 包如何为 Java Web 应用程序创建 .deb Debian 包如何为 Java Web 应用程序创建 .deb Debian 包如何为 Java Web 应用程序创建 .deb Debian 包
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何为 Java Web 应用程序创建 .deb Debian 包

假设您已经构建了一个 Java Web 应用程序作为 Java servlet。现在您想要为 Java Web 应用程序创建 .deb Debian 软件包,这样当您安装 .deb 软件包文件时,它将自动安装任何必备软件包(例如 Java 和 Tomcat Web 服务器),并在 Apache Tomcat 上部署 Java servlet。

我假设您已经构建了一个 Java servlet 并将其导出到 .war 文件中。那么 Debian 软件包将仅包含 .war blob 和任何依赖项信息。以下是有关如何从 .war 文件创建 .deb 包的指南。

首先,安装构建 Debian 软件包所需的任何软件包。


$ sudo apt-get install dh-make debhelper devscripts fakeroot

为您的应用程序创建一个目录。


$ mkdir myapp-0.1

接下来,将 .war 应用程序文件复制到该目录。


$ cp myapp.war myapp-0.1 
$ cd myapp-0.1

创建打包所需的骨架文件。


$ dh_make -s --indep --createorig 

Maintainer name  : My Name
Email-Address    : [email  
Date             : Tue, 02 Apr 2020 11:33:28 -0400
Package Name     : myapp
Version          : 0.1
License          : blank
Type of Package  : Independent
Hit  to confirm: 

一旦你点击<enter>,它将在myapp-0.1/debian/中创建几个骨架文件

由于您正在打包预构建的 .war 文件,因此在打包规则中不需要任何构建过程。从 debian/rules 中删除对 makefile 的任何引用。


$ grep -v makefile debian/rules > debian/rules.temp
$ mv debian/rules.temp debian/rules 

下一步是修改 debian/install。您可以在此处指定要安装的文件列表及其各自的安装目录。在我们的示例中,要安装的文件对应于 .war 文件,安装目录是 Tomcat 的 webapps 目录。假设 .war 文件是为 Tomcat7 Web 服务器构建的,您可以按如下方式修改 debian/install。


$ echo myapp.war /var/lib/tomcat7/webapps > debian/install

修改 debian/source/format 因为我们不会构建基于 quilt 的包。


$ echo "1.0" > debian/source/format 

删除不必要的示例文件。


$ rm debian/*.ex

修改你的包的控制信息。重要的是,您需要指定 tomcat7 作为依赖包(在“Depends:”字段中)。您不需要将 Java 指定为依赖项,因为通过添加 tomcat7 隐式暗示了 Java 依赖项,而 Tomcat7 又依赖于 Java。


$ vi debian/control

Source: myapp
Section: unknown
Priority: extra
Maintainer: My Name 
Build-Depends: debhelper (>= 8.0.0)
Standards-Version: 3.9.3
Homepage: 
#Vcs-Git: git://git.debian.org/collab-maint/indoornav.git
#Vcs-Browser: http://git.debian.org/?p=collab-maint/indoornav.git;a=summary

Package: myapp
Architecture: all
Depends: tomcat7
Description: This is my web application.
This is a long description of my web application.

最后,构建包。


$ debuild -us -uc

构建完成后,您将在父目录中生成.deb文件。


$ ls ../*deb

myapp_0.1-1_all.deb
©2015-2025 艾丽卡 support@alaica.com