项目引用solr、lucene导致log4j无法输出日志的解决方法

当项目中引入Solr和Lucene时,可能会遇到由于不同版本的log4j绑定导致的日志输出异常。具体表现为SLF4J报错,提示存在多个StaticLoggerBinder绑定。为了解决这个问题,可以排除Solr依赖中的log4j组件。在Solr的Maven依赖中添加exclusions标签,排除log4j的相关模块,如'org.apache.logging.log4j:*',这样可以避免版本冲突,确保日志系统正常工作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目中引用solr、lucene导致log4j日志无法正常输出,有可能是因为solr引用log4j和项目引用的log4j不一致导致的。比如“log4j-slf4j-impl”和“slf4j-log4j12”同时被引用,tomcat启动是就会报多绑定冲突

SLF4J: Found binding in [jar:***/WEB-INF/lib/log4j-slf4j-impl-2.14.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:***/WEB-INF/lib/slf4j-log4j12-1.7.30.jar!/org/slf4j/impl/StaticLoggerBinder.class]

 解决方法很简单:将solr的log4j排除即可

<dependency>
	<groupId>org.apache.solr</groupId>
	<artifactId>solr-core</artifactId>
	<version>8.11.0</version>
	<exclusions>
		<exclusion>
			<groupId>org.apache.logging.log4j</groupId>
			<artifactId>*</artifactId>
		</exclusion>
	</exclusions>
</dependency>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值