带有org.jboss.logging的LinkageError

时间:2019-06-27 18:05:58

标签: java logging jboss slf4j

我正在尝试使用slf4j作为日志框架,将在wildfly 8.2上运行的应用迁移到jboss 7.2。但是,当我尝试在JBoss中进行部署时,出现以下错误:

  

原因:java.lang.LinkageError:链接失败   org / jboss / logging / Logger $ Level(模块   \“ deployment.backend-2.1.2.war \”(来自服务模块加载程序):加载程序   约束违反:加载程序(实例   org / jboss / modules / ModuleClassLoader)之前为   名称为\“ org / jboss / logging / Logger $ Level \”“}}}

的其他类型

当前的 jboss-deployment-结构

this.mAddress = address;
this.mCity = city;
this.mState = state;

我找不到任何解决此错误的解决方案,运行 <exclusions> <module name="org.apache.log4j" /> <module name="org.slf4j" /> <module name='org.slf4j.impl' /> <module name="org.apache.commons.logging" /> <module name="org.log4j" /> <module name="org.jboss.logging" /> </exclusions> ,从Hibernate 4.3.11.Final导入了org.jboss.logging,那么我的休眠状态的pom现在看起来是:

mvn dependency:tree

但是同样的错误仍然存​​在。

1 个答案:

答案 0 :(得分:0)

此问题与以下事实有关:在配置文件standalone.xml中,您两次创建或导入了同一记录器,因此该级别也不应重复。

Caused by: java.lang.LinkageError: Failed to link org/jboss/logging/Logger$Level (Module \"deployment.backend-2.1.2.war\" from Service Module Loader): loader constraint violation: loader (instance of org/jboss/modules/ModuleClassLoader) previously initiated loading for a different type with name \"org/jboss/logging/Logger$Level\""}}}

此外,请注意记录器配置上的标志use-parent-handlers,该标志将指示父处理程序是否应使用记录器信息。更多信息here