【问题标题】:How to automate starting up jetty/appengine-magic and swank?如何自动启动 jetty/appengine-magic 和 swank?
【发布时间】:2011-03-15 10:22:09
【问题描述】:

在我的 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])

我认为,或者,我可以使用 ae/start 来代替:

(use 'ring.adapter.jetty)
(run-jetty (var tlog.core/tlog-app-handler) {:port 8080})

我想把所有这些放在一个命令后面。

由于命名空间/路径问题,所有通过 -mainlein run 一起使用或编写 leiningen 插件来处理此问题的尝试都失败了。

那怎么做呢?

【问题讨论】:

  • 您能否详细说明您遇到的命名空间/路径问题?

标签: google-app-engine clojure leiningen swank


【解决方案1】:

感谢不想在这里回答的人给出的一个例子,我现在有了一个很好的解决方案。

添加到我的 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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-24
    相关资源
    最近更新 更多