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 加载的顺序。
我正在升级一个复杂的 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 加载的顺序。