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

迁移Spring Boot 3.0,使用Paketo构建Native镜像时遇路径错误

Spring Boot 3.0 Native镜像构建(pack命令)报错解决方向

问题重现

执行pack命令构建Native镜像时出现错误:

Executing native-image -H:+StaticExecutableWithDynamicLibC -jar /workspace
Error: /workspace is a directory. (-jar requires a valid jarfile)

使用的pack构建命令:

pack -v build ghcr.io/kevinbos-cc/buildpacks-demo:latest \
          --builder paketobuildpacks/builder:tiny \
          --path . \
          --env "BP_JVM_VERSION=17" \
          --env "BP_NATIVE_IMAGE=true" \
          --cache-image ghcr.io/kevinbos-cc/buildpacks-demo-paketo-cache-image:latest \
          --publish

解决方向

  • 提前完成项目构建:bootBuildImage会自动触发项目编译打包,但直接使用pack命令不会。先执行./gradle build生成build/libs/下的可执行JAR,再运行pack命令。
  • 明确指定JAR路径:在pack命令中添加环境变量--env "BP_JAR_PATH=build/libs/*.jar",告诉buildpack准确的JAR文件位置,避免它误将/workspace目录当作JAR。
  • 切换builder类型:尝试使用paketobuildpacks/builder:base或paketobuildpacks/builder:full替代tiny builder,tiny版本可能缺少Spring Boot 3.0 Native构建所需的完整配置或依赖。
  • 对齐bootBuildImage配置:执行./gradle bootBuildImage --info查看默认配置细节,将其中自动设置的环境变量或参数手动添加到pack命令中,确保配置一致。

内容的提问来源于stack exchange,提问作者Kevin Bos

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 19:40:27