我有一个插件,曾经使用来自contrib的命令行,在ns中使用以下内容,
(:use [leiningen.compile :only [eval-in-project]]
[clojure.contrib command-line logging])
曾经工作过,我猜是因为leiningen也使用了clojure而且它自动在它的类路径上,上面有了新的contrib结构,
(:use [leiningen.compile :only [eval-in-project]]
[clojure.tools cli logging])
似乎leiningen不包含来自lib /在其类路径上的jar并且这会失败,是否有解决方法?
答案 0 :(得分:0)
右。除非您使用eval-in-project
,否则您的代码将在Leiningen的类路径中运行。因此,lein的类路径上的任何代码都可用于您的项目。但是,这些不是。
是否使用cli并在eval-in-project调用中记录?如果是这样,那些jar需要依赖于你调用插件的项目,并且必须将use
调用传递给eval-in-project(有关更多信息,请参阅eval-in-project文档)
如果使用cli和logging的代码不在eval-in-project调用中,那么你可以将这些依赖项添加到你的插件项目中,它应该可以工作。如果您尝试在插件项目内部测试插件,则需要将:eval-in-leiningen true
添加到project.clj。
如果这样做无效,请使用更多详情/代码扩展您的问题。