我确实有一个Tomcat 7,我在上面运行一个应用程序。在这个tomcat上,在tomcat/lib文件夹中,有一个jar log4j-overslf4j.jar,它是应用程序使用的。
现在,我试图部署一个我没有编写或构建的webapp (更确切地说,是霍蒂奥),方法是将该应用程序的war放在tomcat/webapp文件夹中。但是,Hawtio正在使用slf4j-log4j12.jar,两个jars之间出现了委托循环冲突,这会引发异常,从而阻止Hawtio启动。
我已经尝试从tomcat/lib文件夹中删除log4joverslf4j.jar,它可以工作,但是为了避免任何回归,我宁愿不这样做。是否有任何方法将存储在tomcat/lib文件夹中的war排除在war部署之外?
发布于 2020-06-16 01:58:46
更新pom.xml以排除slf4j文件
检查您的maven依赖项,看看哪个使用slf4j,并可能将其包含在war文件中。然后把这个添加到每一个
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>如果没有针对特定依赖项的任何其他排除,则需要对上述内容进行包装。
https://stackoverflow.com/questions/62146997
复制相似问题