首页 > 解决方案 > Tomcat 从 Shared 文件夹而不是 tomcat/lib 文件夹中获取 servlet-api jar

问题描述

这是Tomcat restart throws error about the missing destroy() 方法的延续

我的 tomcat 没有从 tomcat/lib 中获取servlet-api.jar,但它会从一个共享文件夹中获取,该文件夹甚至不在 CATALINA_HOME 的路径中(在我的情况下,它与 CATALINA_BASE 相同)。

这是因为我在 catalina.bat 的 CATALINA_OPTS 中添加了 A/Shared_folder,如下所示:

设置 CATALINA_OPTS=%CATALINA_OPTS% -Djava.library.path="A/Shared_folder" -Xms256m -Xmx256m -verbose:gc

文件夹结构为:A/Shared_folder为共享文件夹

A/B/tomcat_folder是tomcat文件夹

我真的被困在这里了。我使用类加载器日志进行了验证。删除 Djava.library.path="A/Shared_folder" 后,它会从 tomcat/lib 正确加载,但我的应用程序需要 A/Shared_folder 中剩余的 jar 才能正确运行。请指教。

有什么办法可以从 Djava.library.path 中排除 servlet-api。

注意:- servlet-api.jar 版本在两个位置都不同,因此问题也不同。我正在使用 9.0.43 tomcat

标签: javatomcat9

解决方案


推荐阅读