You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

java layertools extract提取分层jar不保留时间戳相关问题咨询

问题a:提取分层jar时是否可以保留文件原时间戳

目前Spring Boot官方的layertools工具没有提供保留原文件时间戳的内置参数,你可以用两种替代方案实现需求:

  • 用unzip命令替代layertools提取分层:unzip默认会保留压缩包内文件的原始时间戳,你可以直接指定提取jar包内的分层目录即可,命令参考:
unzip my-uber-jar.jar 'dependencies/*' 'spring-boot-loader/*' 'snapshot-dependencies/*' 'application/*'
  • 提取后批量固定文件时间戳:你可以将所有依赖jar的时间戳统一修改为固定值,避免每次提取后的时间变动,命令参考:
find dependencies/BOOT-INF/lib/ -name "*.jar" -exec touch -d "2020-01-01 00:00:00" {} \;

问题b:是否可以配置Docker buildkit优先校验文件校验和而非时间戳判断文件是否变更

可以,你只需要在执行构建前设置环境变量BUILDKIT_CONTEXT_SCAN_MODE=content即可,开启后Buildkit会完全基于文件内容的校验和判断是否变更,忽略时间戳的变动。
如果是在IntelliJ中使用远程Docker构建,你可以在对应Docker构建配置的「环境变量」栏中添加该变量,无需修改构建命令。

内容的提问来源于stack exchange,提问作者Allain Legacy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 19:15:01