【发布时间】:2024-01-21 22:59:01
【问题描述】:
有人对以下场景有很好的了解吗?
一个类可以部署在tomcat的不同位置。它可以是简单的 .class 或打包在 jar 文件中。我在这里列出了这些选项:
apache-tomcat-6.0.35\shared\classes
apache-tomcat-6.0.35\shared\lib
apache-tomcat-6.0.35\lib
apache-tomcat-6.0.35\webapps\examples\WEB-INF\classes
apache-tomcat-6.0.35\webapps\examples\WEB-INF\lib
如果同一个类部署在所有这些位置(类文件夹层次结构中的.class 或打包在 jar 文件中并复制到 *\lib\ 层次结构下),tomcat 的类加载器将使用什么规则来识别该类它最终会使用吗?
【问题讨论】:
-
来自 tomcat 官方文档站点tomcat.apache.org/tomcat-6.0-doc/class-loader-howto.html 因此,从 web 应用程序的角度来看,类或资源加载在以下存储库中查找,顺序如下: JVM 系统类加载器类的引导类(如上所述)您的 Web 应用程序的 /WEB-INF/classes 您的 Web 应用程序的 /WEB-INF/lib/*.jar 通用类加载器类(如上所述)
标签: java class tomcat jar classloader