我正在为JBoss部署一个耳朵,当我启动服务器时,我抛出了这个异常:
Caused by: java.lang.LinkageError: loader constraint violation in interface itable initialization: when resolving method "ch.qos.logback.classic.LoggerContext.getLogger(Ljava/lang/String;)Lorg/slf4j/Logger;" the class loader (instance of org/jboss/modules/ModuleClassLoader) of the current class, ch/qos/logback/classic/LoggerContext, and the class loader (instance of org/jboss/modules/ModuleClassLoader) for interface org/slf4j/ILoggerFactory have different Class objects for the type ;)Lorg/slf4j/Logger; used in the signature
我有一个EAR项目,在部署程序集中我包含logback-classic / logback-core /和slf4j-api。当我这样做时,三个jar自动放在另外2个ejb项目的构建路径中的EAR Libraries文件夹中(它们都打包为jar并在EAR的部署程序集中引用)
不确定为什么会发生这种情况..此外,当我不将jar放入EAR的部署程序集中时,我直接将它们链接到2 ejb项目的构建路径中,但是当我部署了JBoss时,JBoss会抛出{ {1}}在slf4j / Logger ..
任何想法?
答案 0 :(得分:0)
解决了这个问题..我必须编辑我的jboss-deployment-structure.xml,并添加除了我所拥有的子部署之外的排除项的主要部署。