tomcat 8 common.loader server.loader 共享.loader

标签 tomcat

我正在使用 tomcat 8,在

tomcat-home/config/catalina.properties

,有关于

的部分

common.loader, server.loader and shared.loader

但是,在关于类加载器(https://tomcat.apache.org/tomcat-8.0-doc/class-loader-howto.html)的tomcat文档中,只有关于common.loader的描述。

那么这 3 个 loader 有什么区别呢? (我知道 common class loader 包含额外的类,这些类对 Tomcat 内部类和所有 web 应用程序都是可见的。通常,应用程序类不应该放在这里。如果留空,server.loader 和 shared.loader 将使用common.loader config.webapp common jar可以放在shared.loader中。但是还有哪些区别呢?比如common.loader和server.loader的区别,server.loader和shared.loader的区别等等?)

最佳答案

(可能正是因为这种混淆)默认情况下不再使用它们。服务器类路径用于包含仅可用于服务器但不可用于任何 Web 应用程序的类。我希望做对:公共(public)加载器包含可用于每个 Web 应用程序服务器的类,而共享加载器包含可用于所有 Web 应用程序但不是服务器的类。

这里有龙 - 不要去那里。内存很便宜——不要使用这些构造来“更优化地放置一些 jar ”。默认值(如果您使用 JNDI 资源,则 JDBC 驱动程序除外)应该是:Jars are in your web application。

它们不再使用是有原因的。原因是安装的可理解性和可维护性。在应用程序之间共享的代码会产生很多意想不到的副作用。

关于tomcat 8 common.loader server.loader 共享.loader,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49837860/

相关文章:

java - 当部署在服务器上时,这个 Java 应用程序有何变化?

java - 在 WAR 文件中定义 Servlet 上下文

java - 无法使用 JCIFS 和 jai imageio 从联网的 Windows PC 读取 tiff 图像

java - Java Web 应用程序中的 Servlet 示例

web-services - 如何将 SOAP 请求和 SOAP 响应放入@EndPoint 注释类文件的日志文件中

tomcat - MyFaces 2 不需要 2 个过滤器

java - 有没有办法配置tomcat servlet工作目录?

java - Tomcat 无法定位 TreeTagger 二进制文件

java - Apache Tomcat 是否意味着每个托管应用程序安装一次?

java - 在 web-inf\lib 中找不到适合 jdbc :db2 with db2jcc4. jar 的驱动程序