如何自动启动Jetty/Appengine-Magic和Swank?
-
24-10-2019 - |
题
通过我的Clojure/Appengine-Magic项目,我目前开始这样的事情:
lein repl
(doto 'tlog.core require in-ns)
(compile 'tlog.core)
(ae/start tlog-app)
(require 'swank.swank) (swank.swank/start-repl 4005)
tlog.core有:
(:require [appengine-magic.core :as ae])
另外,我认为我可以使用:我可以使用:
(use 'ring.adapter.jetty)
(run-jetty (var tlog.core/tlog-app-handler) {:port 8080})
我想将所有这些都放在一个命令后面。
所有尝试通过 -main
与 lein run
或编写由于名称空间/路径问题而导致的Leiningen插件失败。
那么如何完成呢?
解决方案
多亏了一个愿意不回答这里的人给出的示例,我现在有一个很好的解决方案。
除了我的project.clj:
:repl-init-script "src/tlog/init_repl.clj"
将在运行时触发 lein repl
.
init-repl.clj:
(ns user
"Init script for Leiningen REPL."
(:require [appengine-magic.core :as ae])
(:use [clojure.stacktrace]
[clojure.contrib.repl-utils :only (show)]
[tlog.core]))
(defn reload!
"Force a reload of everything."
[]
(require 'tlog.core :reload-all))
(compile 'tlog.core)
(ae/serve tlog-app)
(println "Interactive Jetty instance started. To force a reload: (reload!)")
(require 'swank.swank) (swank.swank/start-repl 4005)
不隶属于 StackOverflow