JAVA 中JAR 运行出现invalid or corrupt jarfile,怎么解决?

2025-03-30 03:33:17
推荐回答(5个)
回答1:

每一个key(即冒号前面的字符串)的冒号的后面加上一个空格。也可能jar包文件损坏了,需要重新下载或者添加jar包。

在软件领域,JAR文件是一种软件包文件格式,通常用于聚合大量的Java类文件、相关的元数据和资源文件到一个文件,以便开发Java平台应用软件或库。

JAR文件是一种归档文件,以ZIP格式构建,以.jar为文件扩展名。用户可以使用JDK自带的jar命令创建或提取JAR文件。JAR文件内的文件名是Unicode文本。

扩展资料

一个可执行的jar 文件是一个自包含的 Java 应用程序,它存储在特别配置的JAR 文件中,可以由 JVM 直接执行它而无需事先提取文件或者设置类路径。

要运行存储在非可执行的 JAR 中的应用程序,必须将它加入到你的类路径中,并用名字调用应用程序的主类。但是使用可执行的 JAR 文件,我们可以不用提取它或者知道主要入口点就可以运行一个应用程序。可执行 JAR 有助于方便发布和执行 Java 应用程序。

参考资料来源:百度百科-jar

回答2:

可能jar文件损坏了,你可以尝试用winrar打开这个jar文件,把它解压,看有没有报错,如果报错,说明文件损坏了。

打包成jar文件后运行出现Invalid or corrupt jarfile 解决

打jar包

1。jar -cvf hello。jar hello。class

2。这时java -jar hello。jar 是运行不了的

3。解压刚打的Jar包到新的目录,会发现里边多了一个META-INF文件夹里边有一个MANIFEST。MF文件

4。用记事本打开MANIFEST。MF文件,修改为

Manifest-Version: 1。0

Main-Class: Hello

Created-By: aaa

5。将MANIFEST。MF复制到和Hello。class 放在一起

然后打包:

jar cvfm abc。jarMANIFEST。MFHello。class

得到可运行的jar

java -jar  ***   就可以运行的jar包[ 其中***为jar包名]

回答3:

感觉像是main函数的注册不正确,所以双击失败;试试用批处理语句运行那个main函数,如果成功就是jar包里注册main的文件没写对,如果也失败就应该文件损坏了吧

回答4:

可能jar文件损坏了,你可以尝试用winrar打开这个jar文件,把它解压,看有没有报错,如果报错,说明文件损坏了。

回答5:

打包一个可以直接利用java -jar ***就可以运行的jar包步骤:
jar cvfm lottery.jar MANIFEST.MF jdbc.properties com
如果出现:
java.io.IOException: invalid header field
这样的错误的话,就说明MANIFEST.MF文件有问题,比如写成了这样:
Manifest-Version: 1.0
Main-Class:com.feishan.lottery.view.Index
Class-Path: jar/jdbc_feishan.jar jar/mysql5.0.3.jar
注意:
Main-Class:后面应该有一个空格:
Manifest-Version: 1.0
Main-Class: com.feishan.lottery.view.Index
Class-Path: jar/jdbc_feishan.jar jar/mysql5.0.3.jar
这样写就对了注意:最后一行也要有一个回车键。否则后面那一行是不能打包进去的

最后用java -jar lottery.jar就可以运行了