maven打包jar包分为两种,一种是运行的jar包,一种是依赖的jar包,依赖的jar包直接点击右边的maven->Lifecycle->package就行,但我们这里遇见的是运行的jar包,见如下解决方案
maven项目中有2个子模块,其中a模块依赖于b模块,打包成jar包放在linux下运行时,出现以下错误:
ct-producer-1.0-SNAPSHOT.jar中没有主清单属性
Error:Invalid or corrupt jarfile xxx.jar
解决办法
打开项目的Project Structure,按如下图片点击

Module是你想要打包的模块
Main Class是这个模块的main方法所在的类
META-INF一定要放在这个模块的resources资源目录下,不能使用idea自动给的路径,否则会出现Invalid or corrupt jarfile xxx.jar错误

最后点击Applay Ok

点击Build,再点击Buiild Artifacts,然后选中你要的模块jar,点击build,就可以完美解决

当在Maven项目中打包运行jar包时,特别是涉及多个模块依赖时,可能会遇到缺少主清单属性或jar文件损坏的问题。解决方法包括在ProjectStructure中设置正确的MainClass,确保META-INF位于resources资源目录下,并手动配置。通过这些步骤,可以成功打包并运行jar文件。
3078

被折叠的 条评论
为什么被折叠?



