2 つのテスト ファイルにまったく同じコードを含む 2 つの「lein」プロジェクトがあります。
... clojure.set/union ...
最初のプロジェクトは正常にコンパイルおよび実行されます。2番目のものは次のようにエラーになります:
Exception in thread "main" java.lang.ClassNotFoundException: clojure.set, compiling:(foo/bar.clj:14)
...
Caused by: java.lang.ClassNotFoundException: clojure.set
...
:use
明示的に追加した場合にのみ、2番目のプロジェクトを実行できますbar.clj
(:use clojure.set)
ただし、最初のプロジェクトにはこのステートメントがありません。なぜ異なる行動をするのですか?
更新:
例外が発生していない最初のプロジェクトには、次の宣言がありますproject.clj
。
:eval-in-leiningen true