我正在尝试制作一个名为 migrate 的自定义 lein 任务,所以我可以在命令行上说:
lein migrate
lein 在 src/leiningen/migrate.clj 下找到我的任务文件(根据 leiningen 约定)。在任务的 ns 声明中,我需要我的项目中的文件
(ns leiningen.migrate
(require [triface.migration :as mm]))
(defn migrate []
(mm/run-migrations))
它发现 src/triface/migration.clj 很好,但是那个文件需要一个需要 jdbc 的文件:
(ns triface.db
(:require [clojure.java.jdbc :as sql]))
此调用在我的应用程序中运行良好,但在此 lein 任务中它失败并出现以下错误:
Exception in thread "main" java.io.FileNotFoundException:
Could not locate clojure/java/jdbc__init.class or clojure/java/jdbc.clj on classpath
这里发生了什么?谢谢!