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中提交的《更新log4j》
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 代替”... 哎。

编辑:等等, deeper in text,在第三段中提到了一些内容。抱歉。
LOL!整个部分都叫“使用 tools.build” :) 然后解释了为什么要这样做。
...