【发布时间】:2017-05-08 03:56:01
【问题描述】:
我们正在使用 JBoss 6.4.5 GA 并且正在使用 RestEasy。 JBoss 附带了一个 httpclient 版本 httpclient-4.3.6.redhat-1.jar。我需要更高版本(4.5.x)来获得另一个依赖项。 我正在将一个包含单个war 文件的ear 文件部署到jboss 容器中。不幸的是,全局安装的 jboss 版本的 httpclient 被加载了,而不是 war 文件中的那个。
结构:
耳朵 -战争 --WEB-INF ---lib # 包含较新版本的 httpclient ---班级 --META-INF -META-INF --jboss-部署结构.xmljboss-deployment-structure.xml 如下所示:
<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.2">
<deployment>
<dependencies>
<system export="true">
<paths>
<path name="com/sun/org/apache/xerces/internal/dom" />
</paths>
</system>
</dependencies>
<exclusions>
<module name="org.apache.httpcomponents" slot="main" />
</exclusions>
</deployment>
<sub-deployment name="mywar-2.68.0-SNAPSHOT.war">
<dependencies>
<module name="org.jboss.xnio" />
</dependencies>
<exclusions>
<module name="org.apache.httpcomponents" slot="main" />
</exclusions>
</sub-deployment>
</jboss-deployment-structure>
不幸的是,旧版本的 httpclient 仍然被加载。如何隐藏全局提供的 jar?
【问题讨论】:
标签: jboss7.x resteasy apache-httpclient-4.x