我遇到了第 3 方开发人员的问题。他们提供了许多 jars,不幸的是,在 2 个不同的 jars 中,他们有一个类的不同实现(相同的名称,相同的包)。
我们使用单个 war 文件进行部署,其中两个 jar(以及许多其他 jar)一起打包在 web-inf/lib 目录中,不幸的是,这两个 jar 都需要。
有没有办法在 JBoss eap 6 中保证 a.jar 中的类在 b.jar 中的类之前加载?
谢谢。
我遇到了第 3 方开发人员的问题。他们提供了许多 jars,不幸的是,在 2 个不同的 jars 中,他们有一个类的不同实现(相同的名称,相同的包)。
我们使用单个 war 文件进行部署,其中两个 jar(以及许多其他 jar)一起打包在 web-inf/lib 目录中,不幸的是,这两个 jar 都需要。
有没有办法在 JBoss eap 6 中保证 a.jar 中的类在 b.jar 中的类之前加载?
谢谢。
您可以在此链接中找到有关 JBoss 上的类加载的所有答案。但从现在开始,我建议您阅读“JBoss 部署结构文件”部分
使用“jboss-deployment-structure.xml”JBoss 特定部署描述符,您可以以细粒度的方式控制类加载。它应该放在顶层部署中,在 META-INF(或用于 Web 部署的 WEB-INF)中。它可以执行以下操作:
Prevent automatic dependencies from being added
Add additional dependencies
Define additional modules
Change an EAR deployments isolated class loading behaviour
Add additional resource roots to a module