【发布时间】:2014-08-03 16:36:00
【问题描述】:
我正在开发一个 clojure 项目,该项目目前使用最新版本的 org.clojure/tools.cli,并且我希望在其中开始使用 storm。但是,一旦我将 [storm "0.9.0.1"] 添加到我的依赖项中,使用 parse-opts 函数的命名空间就无法编译。我的窥探使我得出结论,storm 需要旧版本的tools.cli (0.2.x),这种方式有点隐蔽,leiningen 不可见/无法控制。
有趣的是
- 使用
lein deps :tree不会显示这种依赖关系,也不会显示任何警告; - 添加
[storm "0.9.1" :exclusions [org.clojure/tools.cli]]似乎无法解决问题。
查看storm github repo,似乎tools.cli 规范位于pom.xml 文件中。我已经确认分叉风暴、更新此依赖项并通过lein-git-deps 使用此分叉解决了问题。然而,不得不这样做是相当令人沮丧的。
有没有办法解决这个问题?这里有什么错误吗? Leiningen 没有特别详细地记录这个特性,至少就我所能找到的而言。
【问题讨论】:
标签: java clojure dependencies leiningen apache-storm