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

在fly.io部署Spring Boot应用遇Buildpack检测错误:无构建包组通过检测

解决Fly.io部署Spring Boot时Buildpack检测失败的问题

核心原因

Paketo的Spring Boot Buildpack无法通过检测,通常是因为缺少依赖的JDK环境,或者项目目录中没有符合要求的构建产物(可执行Jar)或构建配置文件(pom.xml/build.gradle)。

解决方案

1. 使用包含完整Java支持的Builder

直接替换为包含JDK、构建工具及Spring Boot支持的full builder,无需单独指定Buildpack:

[build]
  builder = "paketobuildpacks/builder:full"

2. 补充依赖的JDK Buildpack(若坚持用base builder)

base builder仅包含基础环境,需同时添加JDK Buildpack和Spring Boot Buildpack:

[build]
  builder = "paketobuildpacks/builder:base"
  buildpacks = ["gcr.io/paketo-buildpacks/java", "gcr.io/paketo-buildpacks/spring-boot"]

3. 确保项目构建产物或配置存在

  • 若已本地构建项目,确认target/(Maven)或build/libs/(Gradle)目录下有可执行的Spring Boot Jar包;
  • 若未本地构建,确保项目根目录存在pom.xml(Maven)或build.gradle/build.gradle.kts(Gradle),Buildpack会自动触发构建流程。

4. 确认部署上下文路径

执行fly deploy时,确保当前工作目录是Spring Boot项目根目录,或通过--path参数指定路径:

fly deploy --path ./your-spring-boot-project-root

问题重现

背景

Heroku自11月28日停止提供免费dyno服务,尝试用Fly.io作为替代方案部署Spring Boot项目,但Fly.io官方文档缺少Spring Boot/Java相关指南。参考Fly.io的Buildpack配置示例,适配了如下fly.toml配置:

[build]
  builder = "paketobuildpacks/builder:base"
  buildpacks = ["gcr.io/paketo-buildpacks/spring-boot"]

错误日志

执行fly deploy时在DETECTING阶段报错:

$ fly deploy
==> Verifying app config
--> Verified app config
==> Building image
Remote builder fly-builder-little-silence-4534 ready
==> Building image with Buildpacks
--> docker host: 20.10.12 linux x86_64
base: Pulling from paketobuildpacks/builder
b5da66d4625a: Pulling fs layer
...
4f4fb700ef54: Pull complete
Digest: sha256:bbc26d8b7fe183a1d59fba3e19b55d7a1e647de0bbf5aa14be98e328c4b7d777
Status: Downloaded newer image for paketobuildpacks/builder:base
base-cnb: Pulling from paketobuildpacks/run
b5da66d4625a: Already exists
80857de9da00: Already exists
239caa1e3c6f: Pull complete
ed65ad332a5e: Pull complete
4fe6ac7cc235: Pull complete
Digest: sha256:cfc9b596bedc7bead1b3714a69dffa1fb17fcb1f7bba5c3faadb40c0b6f5acbd
Status: Downloaded newer image for paketobuildpacks/run:base-cnb
latest: Pulling from paketo-buildpacks/spring-boot
3301de03cfeb: Pull complete
Digest: sha256:a6551c90f9af0719233ff4a97408a8ea8054e90f776b592dcbc7f37c03c9518c
Status: Downloaded newer image for gcr.io/paketo-buildpacks/spring-boot:latest
===> DETECTING
ERROR: No buildpack groups passed detection.
ERROR: Please check that you are running against the correct path.
ERROR: failed to detect: no buildpacks participating
Error failed to fetch an image or build from source: executing lifecycle: failed with status code: 20

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 17:55:17