栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Maven 打包为rpm包

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Maven 打包为rpm包

maven引入 插件并配置

以Spring Boot 为例


        ${artifactId}
        
			
            
                org.springframework.boot
                spring-boot-maven-plugin
                
                    
                        
                            org.projectlombok
                            lombok
                        
                    
                
            


            
                org.codehaus.mojo
                rpm-maven-plugin
                2.1.5
                true
                
                    
                        
                            rpm
                        
                    
                

                
                    
                    
                    ${rpm.install.path}

                    
                    maven package rpm test

                    
                    ${groupId}

                    
                    gudian

                    
                    ${project.version}
                    
                    ${rpm.install.release}

                    
                    false

                    
                    

                    

                        
                        
                            
                            ${rpm.install.path}/${project.artifactId}
                            755
                            root
                            root
                            
                                
                                    target/${project.artifactId}.jar
                                
                            
                        

                        
                            
                            ${rpm.install.path}/${project.artifactId}/resources
                            755
                            root
                            root
                            
                                
                                    src/main/resources/*
                                
                            
                        

                        
                        
                            ${rpm.install.path}/${project.artifactId}/bin
                            750
                            root
                            root
                            
                                
                                    bin
                                
                            
                        

                        
                        
                            /etc/init.d
                            750
                            root
                            root
                            
                                
                                    ${rpm.install.path}/${project.artifactId}/bin/${project.artifactId}.sh
                                    
                                    ${project.artifactId}
                                
                            
                        
                        
                        
                            /usr/lib/systemd/system
                            750
                            root
                            root
                            
                                
                                    ${rpm.install.path}/${project.artifactId}/bin/${project.artifactId}.service
                                    
                                    ${project.artifactId}.service
                                
                            
                        

                    


                    
                    
                        
                        
                        
                    

                    
                    
                        
                        
                    

                    
                    
                        
                        
                        
                    
                
            
        
    

相关文件

bootyum.service 注册到 systemctl内用

[Unit]
documentation=bootyum

[Service]
#设置javaHome(一定要设置,绝对路径,否则java命令找不到),systemctl运行时不会携带系统的环境变量
Environment=JAVA_HOME=/app/jdk/jdk1.8.0_161
User=root
Group=root
Type=forking
Restart=no
KillMode=process

ExecStart=/etc/rc.d/init.d/bootyum start
ExecStop=/etc/rc.d/init.d/bootyum stop

[Install]
WantedBy=multi-user.target

bootyum.sh 注册到 systemctl内用

#!/bin/bash
#设置 环境变量
export PATH=$JAVA_HOME/bin:$PATH

PID_PATH=/application/data/bootyum/bootyum.pid
Service_Name=bootyum

case "$1" in
start)
/application/data/bootyum/bin/start.sh
;;
stop)
kill $(cat ${PID_PATH})
rm ${PID_PATH}
;;
restart)
$0 stop
$0 start
;;
status)
if [ -e ${PID_PATH} ];then
echo "${Service_Name} is running, pid=$(cat ${PID_PATH})"
else
echo "${Service_Name} is NOT running"
exit 1
fi
;;
*)
echo "Usage: $0 {start|stop|status|restart}"
esac

exit 0

start.sh 项目真实的启动脚本

#!/bin/bash

base_PATH=/application/data/bootyum
Service_Name=bootyum

echo " start app";

#启动命令
nohup java -jar $base_PATH/$Service_Name.jar >> $base_PATH/bootyum.log 2>&1 &

#将pid写进文件
echo $! > $base_PATH/bootyum.pid
打包

linux 中安装 rpm-build插件

yum install rpm-build

进入项目根路径打包

mvn clean package -Dmaven.test.skip

最后会在 target/rpm/项目名称/RPMS/noarch下生成一个rpm包

执行安装命令

#安装:
rpm -hiv xxx.rpm
#查看信息
rpm -qa xxx
#卸载:
rpm -e xxx

安装成功后执行即可启动

#启动
systemctl start 项目名称
#加入开启自启动
systemctl enable 项目名称
#停止
systemctl stop 项目名称
#重启
systemctl restart 项目名称

更多参考文档:
maven使用rpm-maven-plugin构建RPM包

systemctl java jar 添加jar文件开机启动项

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/631209.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号