当前位置: 首页 > 知识库问答 >
问题:

对slf4j的依赖会导致类加载器冲突

锺离韬
2023-03-14

我正在开发jira插件。当我尝试部署它时,我收到一个错误:

创建URL中定义了名为“userService”的bean时出错[bundle://205.0:1/com/softwareplant/tool/service/UserService.class]:通过构造函数实例化Bean失败;嵌套的例外是java。lang.LinkageError:加载程序约束冲突:解析方法“org.slf4j.impl.StaticLoggerBinder.getLoggerFactory()Lorg/slf4j/ILoggerFactory;”当前类org/slf4j/LoggerFactory的类加载器(org/apache/felix/framework/BundleWiringImpl$BundleClassLoaderJava5的实例)和方法的定义类org/slf4j/impl/StaticLoggerBinder的类加载器(org/apache/catalina/loader/WebappClassLoader的实例)对于签名中使用的类型org/slf4j/ILoggerFactory具有不同的类对象;嵌套的异常是org。springframework。豆。工厂BeanCreationException:

在这个项目中,我使用了这样的依赖关系:

[0;37m[INFO] +- com.atlassian.jira:jira-core:jar:7.0.0:provided[0m
[0;37m[INFO] |  +- org.slf4j:slf4j-log4j12:jar:1.7.9:provided[0m
[0;37m[INFO] |  +- org.slf4j:jul-to-slf4j:jar:1.7.9:provided[0m
[0;37m[INFO] |  +- org.slf4j:jcl-over-slf4j:jar:1.7.9:provided[0m
[0;37m[INFO] +- org.slf4j:slf4j-api:jar:1.7.25:compile[0m

希望你有办法解决这个问题。谢谢你的帮助!谢谢你的帮助!

共有1个答案

金何平
2023-03-14

如果您有同一个库的2个不同版本,有时会发生这种情况,请尝试清理项目并再次运行。

 类似资料:
  • 我在Tomcat中实现自己的身份验证过滤器时遇到了一些问题。当我部署项目时,我得到以下日志: 原因:java。lang.ClassCastException:类com。somename。第。sso。卡蒙达。无法将KeyDoppessAuthenticationProvider强制转换为类org。卡蒙达。bpm。发动机Rest安全授权。AuthenticationProvider(com.somen

  • 我有一个Advision类,它使用了代理jar中的另一个类,但这个类依赖于代理jar中不存在的一个类。代理jar中不存在的这个类存在于应用程序类加载器上的另一个jar中。代理jar位于系统类加载器上。所以我没有遇到ClassDefounderRor。我已经尝试使用Transformer.forAdvise,这是在另一篇文章中建议的,但这只适用于Advise类。

  • 我想问一下URLClassLoader。我写了一篇主要的文章。运行良好的jar文件。现在我想让它能够从它的一个文件夹加载插件。我写了它,直到它找到了答案。jar文件在文件夹中,可以在其中列出它们的类(它们的名称、路径)。问题是,当我要求他查找该类(用于创建它的实例)时,他们找不到它从我的主jar文件继承的类,如下所示: 因此,当我要求UrlClassLoader解析“ExpansionA”类时,它

  • 我有两个对象,分别是和。它们都正确地映射了条令注释和Adresa是一对一的关联。 我可以使用实体管理器分别加载Osoba和Adresa。只要Osoba没有填充属性Adresa,它就可以正常工作。但当我用属性Adresa保存Osoba并试图从数据库检索对象时,抛出了一个错误。 这就是我试图获取对象Osoba的方式。数据库中id为13的Osoba包含指向Adresa表的id。 抛出的错误是 这是我的O

  • 问题内容: 我一直在尝试建立一个自定义的类加载器,该类加载器将拦截类以打印出哪些类正在加载到应用程序中。类加载器看起来像这样 它只是吐出它加载的所有类的名称。但是,当我尝试运行一些代码时, 通过 它打印出来 这似乎很奇怪。这不是一个简单的类,它取决于程序包中的许多其他类。这些类显然正在加载中,因为d python代码能够执行操作并读取我的文件。但是,由于某些原因,那些类并未由load的类加载器加载

  • 问题内容: 看起来我偶然发现了一个元类地狱,即使我不想做任何事情。 我正在使用PySide在Qt4中编写一个应用程序。我想将事件驱动的部分与UI定义分开,UI定义是从Qt Designer文件生成的。因此,我创建了一个“ controller”类,但是为了简化我的生活,我还是对它们进行了多重继承。一个例子: 这按预期工作。它也有继承自(,,)。但是,当我子类化并尝试从所述子类继承(代替)时,会收到