27

私は(初めて)Leiningenを使用して、自分の書いたアプリを管理しています。これまで、プロジェクトの依存関係を定義し、プロジェクトのlibディレクトリにdepsをインストールし、関数を定義しました。プロジェクトルートから実行lein replしてから、定義した関数を呼び出すと、エラーが発生しますunable to resolve symbol。私が間違っていることと、Leiningenを介してアプリを正しく実行する方法を知っている人はいますか?ありがとう。

4

2 に答える 2

30

leiningen replから、関数がin-nsマクロで定義された名前空間に切り替える必要があります。

(in-ns 'myproject.core)

次に、関数が使用可能になっている必要があり
ます。またuse、replからその名前空間を使用して、デフォルトの(ユーザー)名前空間に含めることもできます。

(use 'myproject.core)

lein runその後、、、、lein uberjarおよびlein jarleiningenタスクの調査を検討することをお勧めします。

于 2011-07-21T21:45:58.133 に答える
16

私のプロジェクトでは、次のように定義された名前空間を含むcore.cljファイルの場合:

(ns my-project.core)

... project.clj:mainのLeiningenのdefprojectマップにキーを設定しました。

(defproject my-project "1.0.0-SNAPSHOT"
  :description "My project description"
  :dependencies [[org.clojure/clojure "1.2.1"]]
  :main my-project.core)

したがって、を実行するlein replと、コア名前空間が自動的にロードされ、次のように表示されます。

mac:my-project scott$ lein repl
REPL started; server listening on localhost:31515.
my-project.core=> 
于 2011-07-21T21:50:44.643 に答える