【问题标题】:Leiningen 1.3 Upgrade Plugin ClasspathLeiningen 1.3 升级插件类路径
【发布时间】:2011-09-30 17:33:53
【问题描述】:

我有一个插件,它曾经使用 contrib 中的命令行,在 ns 中有以下内容,

(:use  [leiningen.compile :only [eval-in-project]]
       [clojure.contrib command-line logging])

这曾经可以工作,我猜因为 leiningen 也使用 clojure 和 contrib,它会自动在其类路径中,上面的新 contrib 结构变为,

(:use  [leiningen.compile :only [eval-in-project]]
       [clojure.tools cli logging])

似乎 leiningen 在其类路径中不包含来自 lib/ 的 jar,这会失败,是否有解决方法?

【问题讨论】:

    标签: clojure leiningen


    【解决方案1】:

    没错。除非您使用eval-in-project,否则您的代码将在 Leiningen 的类路径中运行。因此,您的项目可以使用 lein 的类路径上的任何代码。然而,这些都不是。

    在 eval-in-project 调用中是否使用 cli 和日志记录的代码?如果是这样,这些 jar 需要依赖于您调用插件的项目,并且必须将 use 调用传递给 eval-in-project(有关更多信息,请参阅 eval-in-project 的文档)。

    如果使用 cli 和 logging 的代码不在 eval-in-project 调用中,那么您可以将这些依赖项添加到您的插件项目中,它应该可以正常工作。如果您尝试在插件项目本身内测试插件,则需要将 :eval-in-leiningen true 添加到您的 project.clj。

    如果这没有帮助,请使用更多详细信息/代码扩展您的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-06
      • 2015-05-22
      相关资源
      最近更新 更多