gpt4 book ai didi

java - 从 jboss AS 6 类加载中排除 jar

转载 作者:行者123 更新时间:2023-12-01 12:13:27 24 4
gpt4 key购买 nike

我有一场使用 errai-bus 的 war ,它依赖于 guava 14.0.1。我正在使用 Jboss 部署应用程序,但是当我这样做时,Jboss 使用的是 guava 的焊接版本,即 guava r6(非常旧)。这会导致可怕的类加载问题,并且 errai-bus 完全无法工作。

即使我在 pom 中将 guava 14.0.1 声明为顶级依赖项,它仍然使用 guava r6。如何阻止 Jboss 为我的 war 加载错误的 guava 版本?

我尝试查找有关如何使用 Jboss AS 6 中的类加载器文件执行此操作的信息,但我似乎找不到任何文档。

最佳答案

您可以尝试将以下jboss-classloading.xml添加到您的WEB-INF文件夹中:

<classloading xmlns="urn:jboss:classloading:1.0"
name="mywar.war"
domain="mywar_domain"
parent-domain="Ignored"
export-all="NON_EMPTY"
import-all="true">
</classloading>

在这种情况下,将 war 的类加载器放入 mywar_domain 中,该域与未定义自己域的所有其他应用程序共享。还可以选择查看其他应用程序导出的所有其他类import-all,并将我们的所有类公开给其他类export-all

部署此文件后,Web 应用程序类加载器将充当顶级类加载器,因此不会与服务器库中的相同类发生冲突。

另请参阅:

无论如何,JBoss AS 6 已经过时了,并且有很多 bug 未解决。您必须了解使用更新版本(Wildfly 或 JBoss EAP 6)的可能性。

关于java - 从 jboss AS 6 类加载中排除 jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27139893/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com