雄猫7:从我没有包装的战争中排除一个罐子



我确实有一个Tomcat 7,我有一个运行的应用程序。在这个 tomcat 上,在 tomcat/lib 文件夹中,有一个 jarlog4j-over-slf4j.jar它被应用程序使用。

现在我正在尝试部署一个我没有编码或构建的 Web 应用程序(更准确地说是 Hawtio(,只需将该应用程序的战争放在 tomcat/webapp 文件夹中即可。但是,Hawtio 使用的是slf4j-log4j12.jar并且两个 jar 之间出现了委托循环冲突,并引发了异常,阻止了 Hawtio 启动。

我尝试从 tomcat/lib 文件夹中删除log4j-over-slf4j.jar并且可以工作,但我宁愿不这样做以避免任何回归。有没有办法从战争部署中排除存储在 tomcat/lib 文件夹中的 jar ?

更新您的 pom.xml以排除 slf4j 文件

查看您的 Maven 依赖项,看看哪些依赖项使用 SLF4J,并且可能将其包含在 WAR 文件中。 然后将其添加到其中的每一个

<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>

如果特定依赖项没有任何其他排除项,则需要将上述内容包装在一起。

最新更新