我目前正在开发一个已有大约十年历史的应用程序。当我查看与应用程序关联的 jar 文件时,我可以看到很多不需要的 jar 和同一 jar 的许多不同版本。
lib 中有不需要的 jar 有什么缺点?查找和删除它们的简单方法是什么?
最佳答案
如果类加载器决定从不同于您预期的版本的 jar 文件加载类,您可能会遇到问题。这些问题通常很难追踪。服务器将按特定顺序(按文件名的字母顺序?)查看 jars,并使用它找到的第一个匹配的类/资源。可能无法保证首先查看最新版本的 jar 文件。
我不知道有什么工具可以找出未使用的 jar 。由于反射,在一般情况下这可能是不可能的,但某种程度的自动检查应该是可能的,至少在理论上是这样。
如果您没有良好的单元测试,通过反复试验删除未使用的 jar 文件是有问题的,我怀疑您在几十年前的应用程序中是否有。可能总会有一些罕见的错误情况,这取决于您刚刚删除的旧 jar 版本。
关于java - tomcat/lib 或 WEB-INF/lib 中不需要的 jar 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1436817/