如何从leiningen或boot启动Clojure 1.8中的套接字REPL?

Dan*_* Wu 9 clojure

在以下链接 http://clojure.org/reference/repl_and_main#_launching_a_socket_server

它有关于如何启动套接字REPL表单java的详细信息,但由于我使用的是lein,所以如何从lein开始.如果从启动开始运行良好,我也可以尝试使用启动.

Dan*_*ton 14

要启动套接字repl,您需要将此选项传递给JVM

-Dclojure.server.repl="{:port 5555 :accept clojure.core.server/repl}"
Run Code Online (Sandbox Code Playgroud)

在Leiningen,将此添加到您的project.clj.

:jvm-opts ["-Dclojure.server.repl={:port 5555 :accept clojure.core.server/repl}"] ; notice that the map is not quoted.
Run Code Online (Sandbox Code Playgroud)

在Boot中,导出环境变量 BOOT_JVM_OPTIONS

export BOOT_JVM_OPTIONS='-Dclojure.server.repl="{:port 5555 :accept clojure.core.server/repl}"'
Run Code Online (Sandbox Code Playgroud)

一旦你的REPL运行,你可以telnet从另一个终端运行连接到套接字REPL.REPLception!

$ telnet 127.0.0.1 5555
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
user=> (+ 1 1)
2
user=>
Run Code Online (Sandbox Code Playgroud)