异常java.lang.LinkageError: loader constraints violated when linking
2021/12/14 20:17:48
本文主要是介绍异常java.lang.LinkageError: loader constraints violated when linking,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
项目场景:
SA 的BOSS系统有后台任务,系统使用SpringTask + Javamail实现将客户的下月账单发送到客户邮箱中,升级系统后发现后台有报错
java.lang.LinkageError: loader constraints violated when linking
原因分析:
LinkageError异常准确的说他是一个错误, 因为他是 Error类的子类,Java API对Error的描述,只有LinkageError的解释:
Subclasses of LinkageError indicate that a class has some dependency on another class; however, the latter class has incompatibly changed after the compilation of the former class.
大概意思为,ERROR 的子类LinkageError的异常提示发生一个类对另一个类具有某种依赖关系, 但是依赖的类在编译后发生了不兼容的改变,例如编译时候A类依赖B类,到运行时,A类得到的B类(既某个类加载器加载的B类)却发现B类已经变成了不兼容的类,无法满足依赖关系
通过异常日志发现问题 出现在javamail的MimeMessageHelper#addAttachment方法中,查看代码发现是可能是 javax.activation.DataHandler引起, 此类位于activation-1.1.jar 包中
最后考虑到会不会是JBOSS环境中第三方包影响,因此核实第三方包,发现BOSS中使用的第3方包activation.jar和activation-1.1.jar冲突。两个包冲突引起依赖问题
解决方案:
activation-1.1.jar是解决一个业务需求时增加,核实代码此业务需求activation.jar完全可用,删除activation-1.1.jar后问题解决
这篇关于异常java.lang.LinkageError: loader constraints violated when linking的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-15JavaMailSender是什么,怎么使用?-icode9专业技术文章分享
- 2024-11-15JWT 用户校验学习:从入门到实践
- 2024-11-15Nest学习:新手入门全面指南
- 2024-11-15RestfulAPI学习:新手入门指南
- 2024-11-15Server Component学习:入门教程与实践指南
- 2024-11-15动态路由入门:新手必读指南
- 2024-11-15JWT 用户校验入门:轻松掌握JWT认证基础
- 2024-11-15Nest后端开发入门指南
- 2024-11-15Nest后端开发入门教程
- 2024-11-15RestfulAPI入门:新手快速上手指南