2024 Clojure状态调查中分享您的想法!

欢迎!请参阅关于页面了解此功能的相关信息。

–1
java.data

我看到您已将clojure/tools.logging中的log4j依赖项升级了。
您也升级一下clojure/java.data吗?这样(其他项目也包括在内)依赖于大量项目的seancorfield/next-jdbc也可以升级。
提前感谢

3 个答案

0

tools.logging和java.data并不直接依赖于log4j,但如果添加依赖项,则可以使用它。

tools.logging已更新到使用新版本进行测试,但对于用户来说这并非严格重要。类似地,java.data不依赖于log4j或需要更新。

我将java.data与最新的tools.logging更新到1.0.95版一起发布(但请注意,这不会改变任何log4j依赖项,因为它只是tools.logging的测试依赖项)。
0
by

org.clojure/java.data请不要在依赖中添加log4j。

你可以通过运行以下命令来检查:

clj -Srepro -Sdeps '{:deps {org.clojure/java.data {:mvn/version "1.0.95"}}}' -Stree

org.clojure/clojure 1.10.3
  . org.clojure/spec.alpha 0.2.194
  . org.clojure/core.specs.alpha 0.2.56
org.clojure/java.data 1.0.95
  . org.clojure/tools.logging 1.2.1

正如Alex解释的那样,data.java或tools.logging都不依赖于log4j。

这一点可以在代码中确认:

https://github.com/clojure/tools.logging/blob/tools.logging-1.1.0/pom.xml#L31

(仅列出在测试范围内,这不会在用作库时包含在类路径中)

并且在maven元数据中(再次,仅列出测试依赖项)

https://mvnrepository.com/artifact/org.clojure/tools.logging/1.1.0

by
编辑 by
编辑:将回复重发为答案
0
by

啊哈,我现在明白了。仅此记录,我是如何得出错误结论的

我从我的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
...

然后 wonder why it downloads log4j?

然后我看到了Alex在clojure/tools.logging中的 update log4j again 提交。
https://github.com/clojure/tools.logging/commit/8e8f899c00d79b03a7f5a3a83e52433d689feaf7
,(我们没有注意到 pom.xml) 并忽略了它只有在 project.cljdev 配置文件中,因为它在文件中更高,并且不会(!) 列在github上的添加/删除列表中。

现在在我纠正之后,我看到它是我的 deps.edn 中的构建依赖项

:aliases
 {:depstar
  {:replace-deps
   {com.github.seancorfield/depstar {:mvn/version "2.1.303"}}
   :ns-default hf.depstar
   :exec-args {}}}

这取决于log4j。

感谢大家的帮助。

编辑:格式化

by
depstar 已存档,我已经呼吁大家迁移到 tools.build 工具三个月了

https://github.com/seancorfield/depstar#use-toolsbuild
by
哦,顺便说一下,我基本上是从 John 那里复制粘贴了别名
https://github.com/practicalli/clojure-deps-edn/blob/live/deps.edn ... 这已经完成了我的需求。更新它,然后...工作了,继续前进。

现在,当我阅读你的 README.md 时,我找不到任何“已弃用,请使用 tools.build”的内容……嗯。

编辑:哦,等等,关于这一点,在第三段更深入的地方有些内容。对不起。
by
哈哈!整个部分都称为“使用 tools.build” :) 然后解释了原因。
...