今天在Linux上使用tar命令解压jdk压缩包的时候出现了“gzip: stdin: not in gzip format”错误,具体错误信息如下所示:
[root@VM_198_169_centos ~]# tar -zxvf jdk-8u171-linux-x64.tar.gz
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now
网上有人说这是因为jdk压缩包没有使用gzip来压缩,所以不需要加“z”指令来解压缩tar包,但是小编去掉了z指令之后,依然报的是“gzip: stdin: not in gzip format”错误,如图所示:
找了很久才知道是什么原因,原来是因为我们用wget命令下载jdk tar包的时候(wget http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/jdk-8u171-linux-x64.tar.gz),由于没有同意oracle的协议,所以下载下来的tar压缩包是不完整的,就会造成解压失败的问题。
解决办法:
点击同意oracel协议之后,再把jdk 1.8先下载到自己的电脑上,然后使用ftp工具将jdk的tar包上传到我们的linux服务器中,再用tar -zxvf命令,就可以成功解压了:
解压成功之后就可以配置java jdk环境变量了,请看教程:Linux系统中配置jdk环境变量的方法
完毕!