2014-11-20 62 views
1

我花了更多時間,我想承認試圖從intellij編譯和運行compojure應用程序。從命令行我使用lein ring server-headless。如果我從intellij內部運行,則REPL開始,並且我無法從REPL中調用或啓動服務器。我怎樣才能編譯和運行REPL內的服務器?如何使用Intellij的compojure

回答

2

你想從repl內部運行服務器嗎?

添加[ring/ring-jetty-adapter "1.3.1"]作爲依賴

在REPL:

(require 'ring.adapter.jetty)

(require 'quals.core.handler);需要包含處理程序

(ring.adapter.jetty/run-jetty quals.core.handler/app {:port 3004})

你可以看到你可以通過在這裏的所有參數 NS: http://mmcgrana.github.io/ring/ring.adapter.jetty.html

有你有它,服務器在運行REPL。如果您正在尋找更多,您可以隨時查看weavejester/lein-ring的源代碼。

玩得開心Clojuring各地:)

+0

如果您在使用HTTP的包是否意味着你不再使用環。因此,上述將無法正常工作?還是組合仍然在引擎蓋下使用環? – slimbo 2014-11-21 01:24:00

+0

Compojure只需構建一個環或http-kit可以使用的處理程序! 實際上,它使建築物的複雜處理程序變得更加簡單。 – marctrem 2014-11-21 01:51:00

+0

如果您想使用http-kit從REPL啓動服務器,則只需遵循此http://www.http-kit.org/server.html#stop-server。 您只需將它傳遞給處理程序(使用Compojure製作)。 – marctrem 2014-11-21 01:56:19