Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将库保存在应用程序库还是公共/lib中更好?_Java_Spring_Tomcat - Fatal编程技术网

Java 将库保存在应用程序库还是公共/lib中更好?

Java 将库保存在应用程序库还是公共/lib中更好?,java,spring,tomcat,Java,Spring,Tomcat,我正在进行一些Spring开发,我正在尝试决定是否应该始终将库保存在应用程序库中,即使它们最终在多个应用程序中是通用的。如果一堆jar文件最终出现在common/lib中,Tomcat的启动速度会减慢吗?我也害怕版本和依赖性。如果应用程序维护自己的所有内容的副本,这不是一个问题吗?在某些情况下,Tomcat绝对需要一个公共库/lib,因为jar是特定于容器功能的,而不是真正的应用程序?我倾向于让库与应用程序共享,而不是共享 如果您有多个应用程序使用这些库,并且您必须升级库(用于功能或bug修复)

我正在进行一些Spring开发,我正在尝试决定是否应该始终将库保存在应用程序库中,即使它们最终在多个应用程序中是通用的。如果一堆jar文件最终出现在common/lib中,Tomcat的启动速度会减慢吗?我也害怕版本和依赖性。如果应用程序维护自己的所有内容的副本,这不是一个问题吗?在某些情况下,Tomcat绝对需要一个公共库/lib,因为jar是特定于容器功能的,而不是真正的应用程序?

我倾向于让库与应用程序共享,而不是共享

如果您有多个应用程序使用这些库,并且您必须升级库(用于功能或bug修复),那么您必须重新测试(甚至可能重新编译/部署)所有这些应用程序

将库与应用程序保持在一起意味着,如果您只需要更改一个应用程序,您不会被锁定在测试所有应用程序的过程中。每个应用程序都是有效的沙盒


(为了提高开发速度,您可能会发现共享开发环境中的公共库很有帮助。但是这与最终部署场景不同)

除非有很好的理由使它们成为公共库,否则请为每个应用程序保留单独的副本


如果你让它们变得常见,你可能会遇到非常糟糕的类加载器问题。

+1根据我的经验,你会遇到糟糕的类加载器问题,你会发现它们很难重现和诊断。