如何在 Tomcat 9 中创建自定义类路径?

Ano*_*nde 1 tomcat classpath classloader tomcat7

我们计划将 tomcat 服务器(我们当前使用的版本是 7)迁移到版本 9,目前我们正在使用 VirtualWebAppLoader 类来创建自定义类路径,即从外部文件夹加载 jars。但是在 Tomcat 9 中,这个加载器类不再可用。如何在 tomcat 9 中实现这一目标?

Sel*_*ron 5

您可以通过Resources在上下文描述符中添加一个元素来实现:

这在Apache Tomcat 资源配置文档中有所描述。

<Resources>
  <PreResources base="/definitly/existing/path/to/your/external/lib"
            className="org.apache.catalina.webresources.DirResourceSet" readOnly="true"
            internalPath="/" webAppMount="/WEB-INF/lib" />
</Resources>
Run Code Online (Sandbox Code Playgroud)

这会在主要资源之前添加一个文件夹,其中可能包含 Tomcat 搜索的 .jar 文件。子元素的类型决定了 Tomcat 搜索资源的顺序。搜索顺序是:

  • 预资源
  • 主要资源
  • 类资源
  • 罐子资源
  • 邮政资源