当前位置:  开发笔记 > 编程语言 > 正文

控制servlet中的类路径

如何解决《控制servlet中的类路径》经验,为你挑选了1个好方法。

我的servlet应用程序包含许多库.jars,其中一些包含嵌入的log4j.xml或log4j.properties文件.我想确保log4j首先找到我的log4j.xml!我已经尝试在servlet中搜索各种类路径元素的优先级的一些规范(例如,WEB-INF/classes总是在WEB-INF/lib之前吗?),或者某种方式来配置或调整servlet的类加载器,以便给定的资源目录出现在类路径的早期.到目前为止,我已经画了一个空白.有关确保servlet .war文件通过类加载器加载正确的log4j.xml的任何建议吗?



1> Yonatan Mama..:
Tomcat 8.5

Ditto Tomcat 8.0.

请参阅文档:Class Loader HOW-TO.

Tomcat 8.0

答案很简单,取自Tomcat文档页面,Class Loader HOW-TO.特别注意/WEB-INF/目录/文件夹的使用.

因此,从Web应用程序的角度来看,类或资源加载按以下顺序查找以下存储库:

JVM的Bootstrap类

/WEB-INF/classes 您的Web应用程序

/WEB-INF/lib/*.jar 您的Web应用程序

系统类加载器类(如上所述)

常见的类加载器类(如上所述)

如果配置了Web应用程序类加载器,则订单变为:

JVM的Bootstrap类

系统类加载器类(如上所述)

常见的类加载器类(如上所述)

/WEB-INF/classes 您的Web应用程序

/WEB-INF/lib/*.jar 您的Web应用程序

雄猫6

摘自Tomcat 6页,Class Loader HOW-TO.

因此,从Web应用程序的角度来看,类或资源加载按以下顺序查找以下存储库:

JVM的Bootstrap类

系统类加载器类(如上所述)

/WEB-INF/classes 您的Web应用程序

/WEB-INF/lib/*.jar 您的Web应用程序

$CATALINA_HOME/lib

$CATALINA_HOME/lib/*.jar

推荐阅读
ar_wen2402851455
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有