2024年Clojure调查问卷中分享您的想法!

欢迎!请参阅关于页面以获取更多关于该功能的信息。

–1

我注意到您已经将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.clj中的dev配置文件,因为它是文件中较高的部分,而不会在GitHub的添加/删除列表中列出..

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

: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
LOL!整个部分都叫做 "使用 tools.build" :) 然后解释了原因。
...