繁体   English   中英

从jboss AS 6类加载中排除jar

[英]Exclude jar from jboss AS 6 class loading

我有一场使用errai-bus的战争,这取决于番石榴14.0.1。 我正在用Jboss部署该应用程序,但是当我这样做时,Jboss使用的是guava焊接版本,即guava r6(非常旧)。 这会导致可怕的类加载问题,并且错误总线完全无法工作。

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

我试图用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>

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

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

也可以看看:

无论如何,JBoss AS 6已过时,并且有许多未解决的错误。 您将不得不查看使用较新版本(Wildfly或JBoss EAP 6)的可能性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM