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

Heroku部署JDA/Gradle开发的Discord机器人部署成功但无法上线求助

问题修复方案

1. 修正build.gradle的stage任务配置

你当前的stage任务依赖的是默认build命令,生成的jar包不会自带依赖库,Heroku运行时自然找不到JDA等相关类。你需要把stage任务绑定shadowJar构建逻辑,生成包含所有依赖的单可执行jar包:

// 替换原有stage任务代码
task stage(dependsOn: ['shadowJar', 'clean'])
shadowJar.mustRunAfter clean

// 可额外添加以下配置固定shadowJar输出文件名,方便后续调用
shadowJar {
    archiveFileName.set("bot.jar")
}

2. 指定Heroku Java运行版本

你配置的JDK编译版本为16,Heroku默认JDK版本低于16会导致兼容错误,需要在项目根目录新建system.properties文件,添加如下内容:

java.runtime.version=16

3. 修正Procfile启动配置

项目根目录的Procfile需要指定运行打包好的全量jar包,且Discord机器人不需要HTTP服务,使用worker类型dyno避免Heroku因未绑定端口关停服务,Procfile内容如下:

worker: java -jar build/libs/bot.jar

4. 移除无效依赖仓库

jcenter已经正式停止服务,会导致部分依赖拉取失败,直接删除repositories代码块中的jcenter()行即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 20:48:01