【问题标题】:Deploying a jHipster with MongoDB app to Heroku, with ObjectRocket addon使用 ObjectRocket 插件将带有 MongoDB 应用程序的 jHipster 部署到 Heroku
【发布时间】:2021-04-13 17:11:30
【问题描述】:

我创建了一个使用 MongoDB 数据库的 jHipster 应用程序。最近几天我正在尝试在 Heroku 上部署它。 我已经根据需要运行了 heroku 生成器。 “jhipster heroku”。我还使用“git push heroku master”将代码推送到 heroku 分支。但是,我仍然有一个问题。

原因:

org.springframework.beans.BeanInstantiationException: 失败 实例化 [org.springframework.data.mongodb.core.MongoDbFactorySupport]:工厂 方法 'mongoDbFactory' 抛出异常;嵌套异常是 org.springframework.beans.factory.BeanCreationException:错误 创建在类路径资源中定义的名称为“mongo”的bean [org/springframework/boot/autoconfigure/mongo/MongoAutoConfiguration.class]: 通过工厂方法实例化 Bean 失败;嵌套异常是 org.springframework.beans.BeanInstantiationException:失败 实例化 [com.mongodb.MongoClient]:工厂方法 'mongo' 抛出 例外;嵌套异常是 java.lang.IllegalArgumentException: 连接字符串无效。连接字符串必须以 'mongodb://' 或 'mongodb+srv://

我确实意识到我必须将由 ObjectRocket 插件提供的 MongoDB 连接字符串放在 .yml 文件中的某个位置,但我不确定在哪里。这不是 Deploying a JHipster/MongoDB application to Heroku 的重复,因为这个问题是 5 年前提出的,从那时起,Heroku 为 Heroku 上的 MongoDB 应用程序提供了一个子生成器。 另外,我应该以某种方式修改个人资料吗?

非常感谢您的帮助!

【问题讨论】:

    标签: java mongodb spring-boot heroku jhipster


    【解决方案1】:

    JHipster 应该在src/main/resources 下生成了一个application-heroku.yml。它应该包含 mongo db 连接 (spring.data.mongodb.uri) 的 spring 数据属性。您应该用您的对象火箭连接字符串替换该值。

    旁注,为什么您会收到错误消息:JHipster 仅使用带有免费层的附加组件。对于 mongo db,它是 mLab 的插件。可惜已经停产了。相应地更新 JHipster 的 heroku 集成存在一个未解决的问题。 https://github.com/jhipster/generator-jhipster/issues/13424

    【讨论】:

      【解决方案2】:

      我终于设法解决了。由于 application-heroku.yml 文件,我怀疑它。但这不是我唯一的问题。主要问题是我不知道我还必须编辑 Procfile。给任何在这里登陆的人的小费。您应该检查 Procfile 是否也使用数据库名称进行了编辑。

      【讨论】:

        猜你喜欢
        • 2015-09-09
        • 1970-01-01
        • 2020-12-07
        • 1970-01-01
        • 2017-01-26
        • 2018-07-26
        • 2019-09-04
        • 1970-01-01
        • 2012-07-16
        相关资源
        最近更新 更多