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,其中包含更新到最新工具.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中的构建依赖项上是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" :) 然后它会解释为什么。
...