我遇到了和你一样的问题。 在我的项目中,让我们称父pom为parent.pom。 parent定义了log4j,slf4j是这样的:
org.slf4j
slf4j-api
${slf4j-api.version}
log4j
log4j
${log4j.version}
org.slf4j
jcl-over-slf4j
${slf4j-api.version}
org.slf4j
slf4j-log4j12
${slf4j-log4j12.version}
子项目在child.pom中调用一些依赖项。但我不希望log4j-1.2.x依赖,并想增加slf4j的版本。
所以。我想补充母公司的依赖
parent
myartifactId
${my parent version}
,并使用排除删除log4j的
parent
myartifactId
${my parent version}
log4j
log4j
,并明确添加SLF4J和log4j2的儿童pom的依赖
org.slf4j
slf4j-api
1.7.6
org.apache.logging.log4j
log4j-slf4j-impl
2.8.2
org.apache.logging.log4j
log4j-api
2.8.2
org.apache.logging.log4j
log4j-core
2.8.2
com.lmax
disruptor
3.3.4
然后使用mvn依赖:树到显示依赖关系列表中,仍然可以看到log4j的
[INFO] +- org.apache.kafka:kafka_2.10:jar:0.8.2.0:compile
[INFO] | +- com.yammer.metrics:metrics-core:jar:2.2.0:compile
[INFO] | +- org.scala-lang:scala-library:jar:2.10.4:compile
[INFO] | +- org.apache.zookeeper:zookeeper:jar:3.4.6:compile
[INFO] | | +- org.slf4j:slf4j-log4j12:jar:1.7.5:compile
[INFO] | | +- log4j:log4j:jar:1.2.17:compile
好了,让我们添加的排除上的依赖......除去这个家伙。
org.apache.kafka
kafka-clients
0.10.1.1
log4j
log4j
然后再次运行该命令以检查依赖关系列表。好!明确〜
希望可以帮助您:>