我的Servlet应用程序包括许多库.jar,其中一些包含嵌入式log4j.xml或log4j.properties文件。我想确保log4j首先找到我的log4j.xml!我尝试搜索servlet中各种类路径元素的优先级的某些规范(例如,WEB- INF / class是否始终在WEB-INF / lib之前?),或以某种方式配置或调整servlet的类加载器,以便给定的资源目录出现在类路径的早期。到目前为止,我已经画了一个空白。关于确保servlet .war文件通过类加载器加载正确的log4j.xml的任何建议?
据我了解,从类路径中选择资源是不确定的(从应用程序开发人员的角度来看)。即使始终加载同一文件,该行为也可能会更改:1.升级当前容器的版本时。2.如果您切换容器。
最简单的解决方案是 从库jar中删除嵌入式log4j配置文件 。嵌入log4j config几乎不是一个好主意,因为它会导致您在这里看到的问题…
它们是第三方罐还是您开发的罐?