注意:我对JVM部署很新,所以请随时告诉我这是一个完全错误的方法:)
我有一堆自包含的.war文件,包含所有依赖项.jar文件。但是,我的一些项目有共享依赖项。 是否可以设置tomcat来自动检测相同的.jar文件并在主机上重复使用?或者我是否必须从.war手动排除这些.jar依赖项,并将它们放在CATALINA_HOME / lib中?
我想象一个检查.jar文件信息和校验和的系统是一个足够好的测试。
注意:我需要这个的实际原因是由于JNI。为了降低内存使用率等,让其他共享依赖项变得共享当然会很好,但是对于使用相同JNI模块的.wars来说这是绝对的要求,因为当Tomcat尝试加载.jar时我得到类加载器异常第二次加载JNI模块的文件。 Tomcat显然不支持这一点。
答案 0 :(得分:1)
您需要手动执行此操作并将其填入类路径的共享空间。
可以是CATALINA_HOME / lib,也可以自己手动添加到Tomcat的起始类路径。
但不管怎样,你需要手动管理它,或者你可以使用某种脚本自动化它,但是jar更改(任何类型)都需要重启Tomcat。