由不同工件中的相同类名引起的Maven依赖冲突

时间:2018-10-20 05:30:55

标签: java maven

我的项目取决于javax.ws.rs-api:2.0.1hadoop-mapreduce-client-core:3.1.0,而后者又取决于jsr311-api:1.1.1

My project -> javax.ws.rs-api:2.0.1 -> hadoop-mapreduce-client-core:3.1.0 -> jsr311-api:1.1.1

问题在于javax.ws.rs.core.Responsejavax.ws.rs-api:2.0.1中都包含类jsr311-api:1.1.1,但是它们具有不同的方法签名。编译项目时,Maven尝试在readEntity(Class<T> entityType)中找到jsr311-api方法而不是javax.ws.rs-api,这导致了NoSuchMethodError

我通过将jsr311-api从依赖项hadoop-mapreduce-client-core中排除来解决了这个问题。但是我想了解为什么Maven尝试使用jsr311-api?有依赖关系类路径吗?我怎么找到它?

PS:我知道Maven解决相同工件不同版本之间的依赖关系冲突的机制,但是这个问题有所不同。

0 个答案:

没有答案