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

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


编辑
编辑:重新发布为答案
0

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.cljdev配置文件中,因为它在文件中更高,并且不(!)在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。

感谢大家帮助我。

编辑:格式化

?
depstar 已归档,我已经呼吁大家转移到 tools.build 三个多月了

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

现在,当我阅读您的 README.md 时,我找不到任何“不推荐使用,改用 tools.build”... 哼。

编辑:等等,在那里更深入的文字里,在第三段有关于这个的说明。抱歉。
?
LOL! 整个部分都叫做 "使用 tools.build" :) 然后解释了原因。
...