簡體   English   中英

使用 ObjectRocket 插件將帶有 MongoDB 應用程序的 jHipster 部署到 Heroku

[英]Deploying a jHipster with MongoDB app to Heroku, with ObjectRocket addon

我創建了一個使用 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:在 class 路徑資源 [org/springframework/boot/autoconfigure/mongo/MongoAutoConfiguration.class] 中定義名稱為“mongo”的 bean 創建時出錯:通過工廠方法進行 Bean 實例化失敗; 嵌套異常是 org.springframework.beans.BeanInstantiationException:無法實例化 [com.mongodb.MongoClient]:工廠方法 'mongo' 拋出異常; 嵌套異常是 java.lang.IllegalArgumentException:連接字符串無效。 連接字符串必須以 'mongodb://' 或 'mongodb+srv://' 開頭

我確實意識到我必須將 ObjectRocket 插件提供的 MongoDB 連接字符串放在 .yml 文件中的某個位置,但我不確定在哪里。 This is not a duplicate of Deploying a JHipster/MongoDB application to Heroku because that question was asked 5 years ago and since then, Heroku provided a subgenerator for MongoDB apps on Heroku. 另外,我應該以某種方式修改個人資料嗎?

非常感謝您的幫助!

JHipster 應該在src/main/resources下生成了一個application-heroku.yml 它應該包含 mongo db 連接的 spring 數據屬性( spring.data.mongodb.uri )。 您應該使用 object 火箭連接字符串替換該值。

旁注,為什么您會收到錯誤消息:JHipster 僅使用帶有免費層的附加組件。 對於 mongo db,它是 mLab 的插件。 可惜已經停產了。 有一個未解決的問題需要相應地更新 JHipster 的 heroku 集成。 https://github.com/jhipster/generator-jhipster/issues/13424

我終於設法解決了。 由於 application-heroku.yml 文件,我懷疑它。 但這不是我唯一的問題。 主要問題是我不知道我還必須編輯 Procfile。 給任何在這里登陸的人的小費。 您應該檢查 Procfile 是否也使用數據庫名稱進行了編輯。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM