2

私の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})

これらすべてを1つのコマンドの背後に置きたいと思います。

名前空間/パスの問題が原因で、leiningenプラグインの-main使用または書き込みを介してこれを処理するすべての試みが失敗しました。lein run

では、どうすればそれを行うことができますか?

4

1 に答える 1

2

ここで答えないことを好んだ誰かによって与えられた例のおかげで、私は今かなり良い解決策を持っています。

私の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)
于 2011-03-21T19:02:28.347 に答える