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可以确保格式不受损。
基础才是编程人员应该深入研究的问题,比如:
1)List/Set/Map内部组成原理|区别
2)mysql索引存储结构&如何调优/b-tree特点、计算复杂度及影响复杂度的因素。。。
3)JVM运行组成与原理及调优
4)Java类加载器运行原理
5)Java中GC过程原理|使用的回收算法原理
6)Redis中hash一致性实现及与hash其他区别
7)Java多线程、线程池开发、管理Lock与Synchroined区别
8)Spring IOC/AOP 原理;加载过程的。。。
【+加关注】。