2014-11-20 54 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