注意:一般来说,我对 JVM 部署还很陌生,所以请随时告诉我这是一个完全错误的方法 :)
我有一堆自包含的 .war 文件,它们的所有依赖项都包含为 .jar 文件。不过,我的一些项目具有共享依赖项。是否可以设置 tomcat 以自动检测相同的 .jar 文件并跨主机重用它们?还是我必须手动从 .war 中排除这些 .jar 依赖项,并将它们放在 CATALINA_HOME/lib 中?
我想一个检查 .jar 文件信息和校验和的系统将是一个足够好的测试。
注意:我需要这个的实际原因是由于 JNI。共享其他共享依赖项当然会很好,以降低内存使用率等,但对于使用相同 JNI 模块的 .wars 来说,这是绝对要求,因为当 Tomcat 尝试加载 .jar 时我会遇到类加载器异常第二次加载 JNI 模块的文件。这显然不受 Tomcat 支持。