Ubuntu环境下Error: Invalid or corrupt jarfile xxx.jar
一、问题描述
Ubuntu环境下将Maven项目打包成jar包后,运行一下指令:
1 $ java -jar my.jar
发生错误:
1 Error: Invalid or corrupt jarfile my.jar
二、问题分析
首先要保证jar包没有在传输过程中损坏。
若jar包没有损坏,则极大可能是入口信息配置错误或者入口信息已丢失。
三、解决方案
情况1:java目录下META-INF文件夹中MANIFEST.MF文件中的信息配置错误。
打开MANIFEST.MF文件,观察Main-Class:后面对应的main函数入口是否正确,例如:
1 Manifest-Version: 1.0 2 Main-Class: com.myproject.Main
情况2:MANIFEST.MF文件中的信息配置正确,但还是无法正确找到程序入口。
此时可能是打包过程中丢失了入口信息、入口太多没有指定主入口或者因为其他原因无法顺利找到入口,可以采用-cp指令来强行指定程序入口,指令如下:
1 $ java -cp my.jar com.myproject.Main
找到入口后,程序即可顺利运行。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 内存占用高分析
· .NET Core GC计划阶段(plan_phase)底层原理浅谈
· .NET开发智能桌面机器人:用.NET IoT库编写驱动控制两个屏幕
· 用纯.NET开发并制作一个智能桌面机器人:从.NET IoT入门开始
· 一个超经典 WinForm,WPF 卡死问题的终极反思
· 支付宝事故这事儿,凭什么又是程序员背锅?有没有可能是这样的...
· 在线客服系统 QPS 突破 240/秒,连接数突破 4000,日请求数接近1000万次,.NET 多
· C# 开发工具Visual Studio 介绍
· 在 Windows 10 上实现免密码 SSH 登录
· C#中如何使用异步编程