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

使用AWS CodePipeline部署Spring Boot+MySQL应用到Elastic Beanstalk报错如何解决?

问题根因

从eb-engine.log的错误日志可以明确,Elastic Beanstalk的Java Corretto 11平台要求部署包的根目录下要么存在Procfile启动配置文件,要么存在可执行jar包,你当前的构建产物包中jar包位于target/子目录下,不符合平台要求,所以部署失败。


可行解决方案

方案1:调整buildspec.yml配置,将jar包输出到构件根目录

修改buildspec.yml的artifacts段,添加discard-paths: yes配置,去掉jar包的路径前缀,直接放到构件包的根目录:

version: 0.2
 
phases:
  install:
    runtime-versions:
      java: corretto11
    commands:
      - echo install
  pre_build:
    commands:
      - echo pre_build
  build:
    commands:
      - mvn package
      - echo build
  post_build:
    commands:
      - echo post_build
 
artifacts:
  files:
    - target/course_reviews_backend-0.0.1-SNAPSHOT.jar
  discard-paths: yes # 新增这行配置,忽略文件的原始路径,直接输出到构件包根目录

改完重新提交代码触发流水线即可,Elastic Beanstalk会自动识别根目录下的jar包启动应用。


方案2:添加Procfile指定jar包路径

在项目根目录新建名为Procfile的文件,内容如下:

web: java -jar target/course_reviews_backend-0.0.1-SNAPSHOT.jar

然后修改buildspec.yml的artifacts段,把Procfile也加入构建产物:

artifacts:
  files:
    - target/course_reviews_backend-0.0.1-SNAPSHOT.jar
    - Procfile

提交代码重新触发流水线即可,Elastic Beanstalk会根据Procfile的配置找到对应路径的jar包启动应用。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 07:45:03