Discord bot 成功部署在 Heroku 上但无法连接到 MongoDB

时间:2021-05-01 03:25:52

标签: java mongodb heroku discord discord-jda

我在网上浏览了很多类似的问题,但我似乎找不到解决这个问题的方法。

这是我的 gradle.build:

plugins {
  id("java")
  id("application")
  id("com.github.johnrengelman.shadow") version "6.0.0"
}

mainClassName = "application.Main"

version '1.0'

sourceCompatibility = 1.8

repositories {
  jcenter()
}

dependencies {
  implementation("net.dv8tion:JDA:4.2.0_168")
  implementation group: 'org.slf4j', name: 'slf4j-simple', version: '1.7.25'
  implementation group: 'org.mongodb', name: 'mongodb-driver', version: '3.12.8'
  
}

task stage(dependsOn: ['build', 'shadowJar', 'clean', 'test']){
  build.mustRunAfter clean
  build.mustRunAfter test
}

jar {
    manifest{
        attributes 'Class-Path': '/libs/myapp.jar', 'Main-Class': 'application.Main'
    }
}

compileJava.options.encoding = "UTF-8"

这是我收到的错误消息:

2021-05-01T02:31:34.409537+00:00 app[worker.1]: [JDA MainWS-ReadThread] INFO net.dv8tion.jda.api.JDA - Finished Loading!
2021-05-01T02:31:35.000540+00:00 app[worker.1]: [cluster-ClusterId{value='608cbd85e76f3d5ea3ada104', description='null'}-cluster0-shard-00-01.xxxxx.mongodb.net:27017] INFO org.mongodb.driver.cluster - Exception in monitor thread while connecting to server cluster0-shard-00-01.xxxxx.mongodb.net:27017
2021-05-01T02:31:35.003260+00:00 app[worker.1]: com.mongodb.MongoSocketReadException: Prematurely reached end of stream

最后,这是我使用过的令牌:

mongodb+srv://<user>:<pw>@cluster0.xxx.mongodb.net/<databaseName>?retryWrites=true&w=majority

它在本地工作正常,但无法连接到 Heroku 上的 MongoDB。

顺便说一句,我正在使用一些已弃用的 MongoDB 对象,如 DBDBCollection,但将其更改为较新版本我将不得不更改大量代码。我不确定它是否相关。

提前致谢。

0 个答案:

没有答案