Java:Linux上java -jar xxx.jar命令执行jar包时出现Error: Invalid or corrupt jarfile xxx.jar解决方案

Posted yy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java:Linux上java -jar xxx.jar命令执行jar包时出现Error: Invalid or corrupt jarfile xxx.jar解决方案相关的知识,希望对你有一定的参考价值。

背景:

从ftp上上传jar包到linux上,之后在linux上通过ftp命令下载jar包文件,开始执行Java-jar,一直提示错误:Error: Invalid or corrupt jarfile xxx.jar

但是,本地在cmd下执行通过。

本来我们是打算通过yarn jar或者hadoop jar来执行命令一个hdfs文件操作的功能,但是一直提示:

[c@v0283~]$ hadoop jar /app/c/h_ConvertHdfsZipFileToGzipFile.jar
WARNING: Use "yarn jar" to launch YARN applications.
Exception in thread "main" java.io.IOException: Error opening job jar: /app/c/H_ConvertHdfsZipFileToGzipFile.jar
        at org.apache.hadoop.util.RunJar.run(RunJar.java:160)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
Caused by: java.util.zip.ZipException: invalid END header (bad central directory offset)
        at java.util.zip.ZipFile.open(Native Method)
        at java.util.zip.ZipFile.<init>(ZipFile.java:219)
        at java.util.zip.ZipFile.<init>(ZipFile.java:149)
        at java.util.jar.JarFile.<init>(JarFile.java:166)
        at java.util.jar.JarFile.<init>(JarFile.java:103)
        at org.apache.hadoop.util.RunJar.run(RunJar.java:158)
        ... 1 more

解决方案:

wget ftp://ip:port/software/os/ubuntu12.04/ubuntu-12.04.1-server-amd64.iso --ftp-user=username --ftp-password=password

问题原因分析:

ftp下载过程中修改了jar文件的格式问题导致,而wget可以确保格式不受损。

 

以上是关于Java:Linux上java -jar xxx.jar命令执行jar包时出现Error: Invalid or corrupt jarfile xxx.jar解决方案的主要内容,如果未能解决你的问题,请参考以下文章

Java/Linux:错误卡上的声音输出

idea Error:(4, 25) java: 找不到符号符号:类 xxx位置:程序包 xxx.xxx程序包xxx不存在

Java程序从开发到最终运行经历了什么?

使用LDAP WITHOUT servername从Java(Linux)到Active Directory进行身份验证

java项目线上值班手册

Mac OS 您需要安装旧 Java SE 6 Runtime运行环境才能打开“XXX” 问题