Aaah,我看明白了。记录如下,我是如何得出错误结论的
我从我的Maven仓库中删除了log4j
rm -rf ~/.m2/repository/org/apache/logging/log4j/
运行构建
$ clojure -X:depstar uberjar :jar target/foo.jar
Downloading: org/apache/logging/log4j/log4j-core/2.14.1/log4j-core-2.14.1.pom from central
Downloading: org/apache/logging/log4j/log4j/2.14.1/log4j-2.14.1.pom from central
Downloading: org/apache/logging/logging-parent/3/logging-parent-3.pom from central
Downloading: org/apache/logging/log4j/log4j-api/2.14.1/log4j-api-2.14.1.pom from central
Downloading: org/apache/logging/log4j/log4j-core/2.14.1/log4j-core-2.14.1.jar from central
Downloading: org/apache/logging/log4j/log4j-api/2.14.1/log4j-api-2.14.1.jar from central
...
然后我很惊讶为什么它还下载log4j?
然后我看到了Alex在clojure/tools.logging的update log4j again
提交
https://github.com/clojure/tools.logging/commit/8e8f899c00d79b03a7f5a3a83e52433d689feaf7
(并未注意pom.xml
)并忽略了它只在project.clj
的dev
配置文件中,因为它在文件中更高,并且不(!)在github的添加/删除列表中列出..
而现在在纠正后我发现它是我的deps.edn
中build依赖项depstar
:aliases
{:depstar
{:replace-deps
{com.github.seancorfield/depstar {:mvn/version "2.1.303"}}
:ns-default hf.depstar
:exec-args {}}}
它依赖于log4j。
感谢大家帮助我。
编辑:格式化