Java 将库保存在应用程序库还是公共/lib中更好?
我正在进行一些Spring开发,我正在尝试决定是否应该始终将库保存在应用程序库中,即使它们最终在多个应用程序中是通用的。如果一堆jar文件最终出现在common/lib中,Tomcat的启动速度会减慢吗?我也害怕版本和依赖性。如果应用程序维护自己的所有内容的副本,这不是一个问题吗?在某些情况下,Tomcat绝对需要一个公共库/lib,因为jar是特定于容器功能的,而不是真正的应用程序?我倾向于让库与应用程序共享,而不是共享 如果您有多个应用程序使用这些库,并且您必须升级库(用于功能或bug修复),那么您必须重新测试(甚至可能重新编译/部署)所有这些应用程序 将库与应用程序保持在一起意味着,如果您只需要更改一个应用程序,您不会被锁定在测试所有应用程序的过程中。每个应用程序都是有效的沙盒Java 将库保存在应用程序库还是公共/lib中更好?,java,spring,tomcat,Java,Spring,Tomcat,我正在进行一些Spring开发,我正在尝试决定是否应该始终将库保存在应用程序库中,即使它们最终在多个应用程序中是通用的。如果一堆jar文件最终出现在common/lib中,Tomcat的启动速度会减慢吗?我也害怕版本和依赖性。如果应用程序维护自己的所有内容的副本,这不是一个问题吗?在某些情况下,Tomcat绝对需要一个公共库/lib,因为jar是特定于容器功能的,而不是真正的应用程序?我倾向于让库与应用程序共享,而不是共享 如果您有多个应用程序使用这些库,并且您必须升级库(用于功能或bug修复)
(为了提高开发速度,您可能会发现共享开发环境中的公共库很有帮助。但是这与最终部署场景不同)除非有很好的理由使它们成为公共库,否则请为每个应用程序保留单独的副本
如果你让它们变得常见,你可能会遇到非常糟糕的类加载器问题。+1根据我的经验,你会遇到糟糕的类加载器问题,你会发现它们很难重现和诊断。