Clojure的优势之一是代码的健壮性,即使几年前编写的代码今天依然有效。
如果你不更改依赖项,它将继续正常运行。
我认为人们需要考虑为什么要更新一个现有依赖项所依赖的Java库?如果你让它保持原样,它将继续正常工作。只有当你明确在自己的项目中更改版本时,它才会出现问题,而这种改变总是存在中断使用该库的其他依赖项的风险。
是的,有时有必要覆盖Java库的版本,比如为了解决CVE,或者可能你有两个同时依赖于该Java库的依赖项,你想更新其中的一个。但这些类型的更改总是伴随着风险——甚至Java库的修补版本更新也可能(并且确实!)以各种方式引入中断。
作为一个如果出现新的反射警告就会使CI构建失败的人,我更希望有保证没有反射,并立即看到本地错误,而不是在更深层次的地方抓住由变更引起的问题。