【发布时间】:2016-03-30 16:54:57
【问题描述】:
我目前在登录使用 Maven 构建的 WAR 文件时遇到了一些问题。当我尝试访问 WAR 中的 servlet 时,我从 SLF4J 收到一个由“delegation loop”引起的错误。
要解决此问题,我知道我需要删除其中一个库(在我的情况下为 slf4j-log4j12),我应该能够通过在 POM 中排除它来做到这一点(我没有明确包括任何日志记录来自slf4j-api)。
但是,slf4j-log4j12 没有显示在依赖关系树中 - 无论是通过 Eclipse 中的 Dependency Hierarchy 选项卡还是通过 dependency:tree 目标。但是,当我查看 WAR 文件时,slf4j-log4j12.jar 存在于 WEB-INF/lib 目录中。
任何想法为什么依赖项没有出现在依赖项树中?有没有其他方法可以将 JAR 包含在构建中?
【问题讨论】:
-
你更新你的maven项目了吗?在查看 Inside the war 之前,您是否也刷新了项目?
-
是的,项目是最新的,我已经从项目的最新版本重建了好几次 WAR。
-
'mvn dependency:tree' 命令是你的朋友。
-
@Ceki,正如你从上面看到的那样,我尝试过,据我所知,我所拥有的所有依赖项都不包括
slf4j-log4j12.jar,但它仍然出现在编译的 WAR 中。 -
@JamesBaker 'mvn dependency:tree' 比 Eclipse 提供的依赖树更可靠。对于所有涉及依赖之谜的问题,'mvn dependency:tree' 是要走的路。
标签: maven dependencies war slf4j