添加证书后如何正确重新生成可用的JDK tar.gz格式安装包
问题根因说明
你遇到的incorrect header check报错是压缩包格式与后缀不匹配导致的:Jenkins按.tar.gz(gzip压缩的tar包)格式解析文件,但你实际打包生成的是未压缩的tar包,仅修改了后缀名,所以解压时识别不到合法的gzip头,同时未压缩的tar包体积也会远大于官方压缩后的版本,和你反馈的170M变大到300M的现象完全吻合。
正确打包操作步骤
1. 前置校验
先确认你修改后的JDK目录结构和官方一致:解压后的所有文件都在同一个一级目录下(比如jdk-17.0.8/),不要改变原有的目录层级。
2. 执行打包命令
在JDK一级目录的上级文件夹中执行如下命令:
tar -zcvf jdk-17-linux-x64.tar.gz jdk-17.0.8/
参数说明:
-z:启用gzip压缩,和官方包压缩格式完全一致-c:创建新的归档包-v:打印打包过程日志,可自行省略-f:指定输出的压缩包文件名
3. 本地验证打包结果
打包完成后先执行格式校验命令:
file jdk-17-linux-x64.tar.gz
正常输出应为:gzip compressed data, last modified: XXXXX
再执行解压测试,确认没有报错:
# 仅查看包内文件列表,不实际解压 tar -ztvf jdk-17-linux-x64.tar.gz # 实际解压验证 tar -zxvf jdk-17-linux-x64.tar.gz
确认解压正常后再上传到Jenkins服务器即可。
注意事项
- 不要修改JDK内部文件的默认权限,尤其是bin目录下的可执行文件权限需要保留
755,避免部署后无法运行 - 不要使用zip/7z等其他压缩格式打包后修改后缀为
.tar.gz,必须使用tar+gzip的标准格式
内容的提问来源于stack exchange,提问作者user8473984
相关产品推荐
相关产品推荐

