Clojure的一个优点是代码的弹性,即多年前编写的代码至今仍在使用。
如果您不更改依赖项,它将会继续工作。
我认为人们需要考虑为什么你需要更新依赖于现有依赖项的Java库?如果你让它保持原样,它会继续工作。只有在你在自己的项目中明确更改版本时,它才会出现故障,这种更改总是存在风险,可能会破坏还使用该版本的依赖项。
是的,有时有很好的理由要覆盖Java库的版本——例如解决CVE,或者你可能有两个依赖项都依赖于那个Java库,你想更新其中一个依赖项。但这些改变总是带有风险——即使是Java库的补丁版本更新也可能(并且确实!)以各种方式引入断裂。
作为一个CI管道,如果出现新的反射警告,构建会失败的人,我更希望有一个保证没有反射,并且立即在本地看到那个错误,而不是在下一条线索中错过由更改引入的问题。