Java程序生成的Jar在Linux和Windows兼容:Error:Invalid or corrupt jarfile

一、问题描述

在Linux中编译的Java程序,安装设计者意图应该是可以跨平台运行的。但是现在发现不能会出现问题,运行不了,并且弹出如下对话框:

 

网上出现的一些解决方案,需要修改jar里面的文件,不能真正从根子上解决问题。

二、问题原因

原因是因为java文件编码不兼容引起的。需要修改文件的编码。把所有的文件都要修改。

三、解决方案

1、修改文件编码。

修改文件字符编码为UTF-8,行尾是windows。这样可是实现兼容。

2、修改所有java文件

3、重新编译

4、导出包

四、版本信息

操作系统:Ubuntu 18.04.4 LTS

Eclipse:Eclipse IDE for Java Developers,Version: 2020-03 (4.15.0)

出现"Error: Invalid or corrupt jarfile"的错误通常是由于jar文件损坏或路径配置错误所引起的。根据引用中提到的内容,如果在Windows上打包成自启动的jar文件,并且出现了该错误,可以参考以下步骤进行排除: 1. 确保你的jar文件没有损坏。你可以尝试重新下载或重新打包jar文件,确保它没有被破坏。 2. 检查jar文件的路径配置。根据引用中提到的内容,确保你的jar文件被正确放置在项目的根路径下,而不是其他位置。 3. 检查你的项目是否有外部依赖库。如果有,确保这些依赖库也正确地包含在jar文件中。 4. 确认你的配置已经应用并保存。按照引用中的提示,点击"apply"和"ok"按钮,确保你的配置已经生效。 如果你遵循了上述步骤,仍然无法解决问题,你可以尝试参考引用中提到的内容,检查是否存在"java.lang.NoClassDefFoundError"错误,这可能是由于jar文件中缺少主清单属性所导致的。在这种情况下,你可以尝试添加一个合适的Main-Class属性来指定启动类。 请注意,以上步骤仅供参考,具体的解决方法可能因个人情况而异。建议你根据具体的错误信息和引用内容中提到的链接进行更深入的调查和排查。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Error: Invalid or corrupt jarfile xxxx-1.0-SNAPSHOT.jar](https://blog.csdn.net/xysxlgq/article/details/122863870)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [java:打包成windows自启动jar,以及ErrorInvalid or corrupt jarfile xxx.jar解决](https://blog.csdn.net/weixin_48618536/article/details/125089121)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值