【问题标题】:Tomcat 7 : exlcude a jar from a war I did not packageTomcat 7:从我没有打包的战争中排除一个 jar
【发布时间】:2020-09-20 15:01:33
【问题描述】:

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

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

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

【问题讨论】:

    标签: tomcat jar log4j tomcat7 war


    【解决方案1】:

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

    查看您的 maven 依赖项并查看哪些使用 slf4j 并可能将其包含在 war 文件中。然后将其添加到每个

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-04-27
      • 1970-01-01
      • 2014-09-23
      • 2014-04-28
      • 1970-01-01
      • 2012-09-16
      • 2014-04-28
      相关资源
      最近更新 更多