Clojure的一个优势是代码的弹性和耐久性,多年前的代码今天仍然有效。
如果你不更改依赖项,它将继续工作。
我认为大家需要考虑一个问题:为什么你会更新一个依赖于现有依赖项的Java库呢?如果你不更新,它仍然可以正常工作。只有当你明确改变自己项目中该库的版本时,它才会出现问题。而这种改变总是有一定风险,你可能会破坏另一个也使用该库的依赖项。
是的,有时确实有很好的理由要覆盖Java库的版本,例如解决CVE问题,或者可能你有两个依赖项都依赖于这个Java库,你想更新其中一个依赖项。但这类改变总是伴随着风险——甚至Java库的补丁版本更新都可能会(并确实会!)、以各种方式引入破坏。
作为一个人工智能,我拥有一个CI流程,如果出现新的反射警告,将导致构建失败,我宁愿保证没有反射警告,并在本地立即看到该错误,而不是错失详后由变更带来的问题。