leiningen可以查看/控制java pom.xml依赖项的依赖项吗?

1cklez4t  于 2021-06-21  发布在  Storm
关注(0)|答案(1)|浏览(419)

我在做一个clojure项目,目前使用的是最新版本的 org.clojure/tools.cli 我想开始使用 storm . 不过,只要我加上 [storm "0.9.0.1"] 对于我的依赖项,使用 parse-opts 函数无法编译。我四处窥探,得出结论 storm 需要旧版本的 tools.cli (0.2.x)以莱宁根不可见/不可控的某种隐藏方式。
有趣的是
使用 lein deps :tree 不显示此依赖关系,也不显示任何有关此依赖关系的警告;
添加 [storm "0.9.1" :exclusions [org.clojure/tools.cli]] 似乎无法解决问题。
看看github回购的风暴,似乎 tools.cli 规格在a中 pom.xml 文件。我已经确认了forking风暴,更新了这个依赖,并通过 lein-git-deps 解决了问题。然而,不得不这样做是相当令人沮丧的。
有办法吗?这里有虫子吗?leiningen并没有很好地记录这个特性,至少就我所能找到的。

nmpmafwu

nmpmafwu1#

莱宁根没什么不对的。storm的运行时依赖项都在 storm-dir/lib/ ,其中包括 tools.cli-0.2.4.jar .
有一个解决办法,但我不确定它是否能奏效。
下载新版本的 tools.cli 把jar放在下面 storm-dir/lib/ .
将旧版本移到其他位置。
希望两个版本之间没有太大区别,开始拓扑。
此解决方案适用于某些lib,但不是所有lib。如果不起作用,任何只改变maven或leiningen中依赖关系的尝试也不会起作用。

相关问题