运行jar包报 “XXX中没有主清单属性”

在centos7上运行maven项目打包的jar包时遇到'缺少主清单属性'的报错。问题源于jar文件中缺少启动项。解决方案包括在IntelliJ IDEA中配置Artifacts指定Main Class,以及在pom.xml中添加spring-boot-maven-plugin插件。此外,还总结了在Linux下启动、关闭和查看jar包服务的相关命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近写了一个博客采集系统,用的是普通maven项目中的main方法作为启动项,打完jar包在centos7上运行时报错,查找资料改正,做一些必要的笔记,一来是对自己学习的知识的巩固,二来对有同样问题的人有参考作用



一 报错原因

打包后的jar文件中的MANIFEST.MF缺少项目启动项,即没有Main-Class,如下:

在这里插入图片描述

在这里插入图片描述

二 解决方案

1、指定MANIFEST.MF路径

项目打包前
第一步 file–>project structure 弹框后选中Atifacts—> + ---->jar---->from module with dependenceis
第二步 选择一个Main Class,然后指定META-INF/MANIFEST.MF的路径为src下(注意不要放到main/java目录下,否则打成的jar中META-INF/MANIFEST.MF不含有Main-Class信息)
在这里插入图片描述

在这里插入图片描述
如果这个方案不行,那就很有可能是另一个原因

2、项目pom.xml文件中添加插件spring-boot-maven-plugin

在这里插入图片描述
3、修改后重新生成jar包
结果如下:
在这里插入图片描述

三 相关常用命令汇总

在linux下启动或关闭jar包服务

启动:进入到jar包对应的文件夹,执行 nohup java -jar xxx.jar & 命令

关闭:

  • 先查出对应的PID:执行命令 ps -aux

  • kill命令关闭对应的PID:执行命令 kill 对应的jar包的PID

实时查看日志命令:进入到对应的日志目录下面,执行 tail -f xx.log 命令,停止退出,执行ctrl+c


四 总结

如有错误恳请指正,如有侵权请联系我删除
参考文章:idea 打包的jar运行报 “XXX中没有主清单属性”
                 centos启动、关闭jar包服务

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值