我使用lein new compojure mongotest
lein 2.0 和 Procfile创建了一个组合应用程序web: lein ring server-headless $PORT
。这工作正常,但现在当我添加
(def mongolab-url (System/getenv "MONGOLAB_URI"))
(println "mongolab-url")
(println mongolab-url)
(mg/connect-via-uri! mongolab-url)
当我尝试git push heroku master
Heroku 最终给了我
Compiling mongotest.handler
mongolab-url
nil
Exception in thread "main" java.lang.NullPointerException, compiling:(handler.clj:13:1)
... 25 more
Compilation failed: Subprocess failed
Error encountered performing task 'compile' with profile(s): 'production'
Suppressed exit
! Failed to build.
! Push rejected, failed to compile Clojure (Leiningen 2) app
我在顶层添加了这些行handler.clj
。我看到的一些旧文档是在 中创建的main
,但这一定是针对旧版本的 compojure,因为main
在生成的应用程序中不再存在(我发现)。在当前版本中应该在哪里建立连接?(或者我的 Procfile 不对?)
(是的,MONGOLAB_URI
在 中定义heroku config
)