软件吧
登录注册账号
/posts/spring-boot-jar-win
电脑必备

解压出来的文件顺序全乱,我拿三个压缩包才搞清依赖问题

码农小张 80 0 13

最近处理一批部署包,解压完发现文件顺序全乱,启动脚本直接报错找不到依赖。折腾了一下午,把踩坑过程记下来。

场景:一个 Spring Boot 项目的部署包,里面有 jar、配置文件、启动脚本,压缩时用了「存储」模式(不压缩),想着解压快。结果用 Win解压缩(版本 23.08)解压后,文件时间戳全变成了解压时间,启动脚本按时间排序时顺序乱了。

测试过程:

  • 拿同一个包用 7-Zip(版本 22.01)解压,勾选「保留时间戳」,文件顺序正常。
  • 用 Win解压缩试了两次,第一次没注意选项,第二次在设置里找到「保留文件时间」勾上,顺序对了。
  • 又拿了一个包含子目录的日志包测试,7-Zip 解压后目录结构完整,Win解压缩默认会把空目录也解出来,多了几个没用的文件夹。

判断依据:

  1. 部署包这种有依赖顺序的,解压工具必须保留原始时间戳,否则脚本按修改时间排序会出错。
  2. Win解压缩解压速度确实快,同样的包 7-Zip 用了 12 秒,Win解压缩 8 秒,但默认配置不保留时间戳,得手动勾。
  3. 命令行场景下,7-Zip 的 -x 参数配合 -aoa 覆盖策略更灵活,Win解压缩目前没找到对应的命令行参数。

结论:普通用户解压日常文件,Win解压缩够用且快;但搞部署包、日志归档这种对顺序敏感的,还是 7-Zip 稳。我现在是两套都装着,看场景切换。

你们解压部署包时有没有遇到过文件顺序错乱的问题?都是怎么处理的?

登录后可以为帖子点赞,但本帖内容对所有人开放阅读。

社区回应

0 Replies

还没有回应,抢一个沙发。

登录后可以回应和点赞,但本帖内容对所有人开放阅读。