【Linux】记录一次jar打包成RPM包

目录

  • 系统环境&前置条件
  • 安装rpmbuild
  • 创建rpmbuild目录

系统环境&前置条件:

CentOS-7-x86_64
jdk1.8.0_201
前置:
root用户登录
所有操作都基于在/root目录下进行

安装rpmbuild

很多文章都说执行yum install rpmbuild,但执行后提示说找不到这个包。
于是我先搜索yum有哪些关于rpm的包:

[root@localhost ~]# yum search rpm

找到列表里面的一条记录:
rpm-build.x86_64 : Scripts and executable programs used to build packages
这个应该就是我想要的^ _ ^,安装它:

[root@localhost ~]# yum install -y rpm-build.x86_64

创建rpmbuild目录

[root@localhost ~]# mkdir -p rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}
目录名作用
BUILD编译rpm包的临时目录
BUILDROOT编译后生成的软件临时安装目录
SOURCES所有源代码和补丁文件的存放目录
SPECS存放SPEC文件的目录(重要)
SRPMS编译rpm包的临时目录
BUILD软件最终的rpm源码格式存放路径
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
jar包打包rpm的步骤如下: 1. 安装rpmbuild工具 在Linux系统上,可以使用以下命令安装rpmbuild工具: ``` sudo yum install rpm-build ``` 2. 创建rpm的目录结构 在rpmbuild的根目录下,创建一个名为SPECS的目录,用于存放.spec文件,以及一个名为SOURCES的目录,用于存放源文件。 ``` mkdir -p ~/rpmbuild/{SPECS,SOURCES} ``` 3. 编写.spec文件 .spec文件是用于打包和安装rpm的文件,需要根据实际情况编写。以下是一个简单的.spec文件示例: ``` Name: myapp Version: 1.0 Release: 1%{?dist} Summary: My Java Application License: GPL URL: http://www.example.com/myapp Source0: myapp.jar BuildRequires: java-devel Requires: java %description My Java Application %prep %setup -q %build %install rm -rf %{buildroot} mkdir -p %{buildroot}/usr/share/myapp cp -a * %{buildroot}/usr/share/myapp/ %files %defattr(-,root,root,-) /usr/share/myapp ``` 在.spec文件中,需要指定应用程序的名称、版本、许可证、依赖关系等信息,并指定应用程序的源文件(在本例中为myapp.jar)。同时,还需要指定应用程序的安装路径和文件列表。 4. 将源文件复制到SOURCES目录下 将应用程序的源文件(在本例中为myapp.jar)复制到SOURCES目录下。 ``` cp myapp.jar ~/rpmbuild/SOURCES/ ``` 5. 使用rpmbuild打包 使用rpmbuild命令打包.rpm: ``` rpmbuild -bb ~/rpmbuild/SPECS/myapp.spec ``` 此命令将在rpmbuild的根目录下生一个.rpm,可以使用以下命令进行安装: ``` sudo yum localinstall ~/rpmbuild/RPMS/x86_64/myapp-1.0-1.el7.x86_64.rpm ``` 其中,x86_64是指64位系统,el7是指CentOS 7操作系统版本。具体的操作系统版本可能会有所不同。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值