为什么喜欢/ WEB-INF/lib到/META-INF/MANIFEST.MF用于webapps?

Mik*_*378 4 java dependencies tomcat web-applications manifest

我想知道为什么Java webapps规范强加了依赖项的特定目录:/WEB-INF/lib.

的确,为什么不使用经典/META-INF/MANIFEST.MF文件?

有人会告诉webapps是如此安全,因为libs物理集成在WAR文件中.

但是,如果我们这么认为,我们可能会想:

为什么对于简单的Java应用程序(简单的JAR),依赖项没有特殊的目录?它也可能更安全,因为在清单文件中没有错误的类路径(例如,不正确地修改)的风险.

其他人会说webapp被设计为可移植的,因此/WEB-INF/lib不用担心链接依赖性.

我很想知道你对这个问题的看法.

Udo*_*eld 5

jar是标准库.对于普通的实用罐子,最好将它们分开.如果一个库依赖于不同的库,并且你需要更多的依赖库,那么一旦你将浪费空间,内存和可能包含不同库版本的问题.

然而,Web应用程序是一个应用程序包.您必须确保每个方法都有效,以便添加所需的库.