maven 依赖项 - 哪个依赖项使用不需要的 jar?

maven dependency - which dependency is using unwanted jar?

我正在升级一个复杂的 maven 项目,其中包含许多 pom 文件。该代码是使用 openjdk 构建的,并在 jboss6.*

上运行

启动 Jboss 时,出现以下异常:

NoSuchMethodError: org.apache.http.conn.ssl.SSLConnectionSocketFactory.(Ljavax/net/ssl/SSLContext;Ljavax/net/ssl/HostnameVerifier;)V

最初,我似乎没有导入正确的 Maven 依赖项。

我查看了抛出异常的项目的pom文件,发现有如下依赖:

<dependency>
 <groupId>org.apache.httpcomponents</groupId>
 <artifactId>httpclient</artifactId>
 <version>4.5.5</version>
</dependency>

但是,当添加以下行时

LOGGER.debug(org.apache.http.conn.ssl.SSLConnectionSocketFactory.class.getProtectionDomain().getCodeSource().getLocation().getPath());

我得到以下输出:

11:54:37,037 DEBUG [packageobsucated.httpclient.HttpClientConfigUtil] (ServerService Thread Pool -- 69) file:/server/modules/system/layers/base/org/apache/httpcomponents/main/httpclient-4.3.6.redhat-1.jar!/

如何找出哪个 Maven 依赖项正在使用 httpclient-4.3.6.redhat-1.jar?

我已经在父 pom.xml 文件上调用了 mvn dependency:tree,但我恐怕找不到任何具有该确切描述的内容。

提前致谢,

我不是 jboss 专家,但我猜这个依赖项是从 jboss 中的模块加载的,即不是从您的 war.

所以我想如果您想使用不同版本的 httpclient,您需要在 jboss 中查找 class 加载的顺序。