java.lang.LinkageError --- json-lib -- 问题?

Posted

技术标签:

【中文标题】java.lang.LinkageError --- json-lib -- 问题?【英文标题】:java.lang.LinkageError --- json-lib -- issue? 【发布时间】:2017-06-19 03:43:39 【问题描述】:

java.lang.LinkageError: 无法链接 net/sf/json/JSONException (来自本地模块加载器@4c3e4790 的模块“MYAPP:lib”(查找器:本地 模块查找器@38cccef(根: C:\MYAPPS\EAP-6.4.0\jboss-eap-6.4\modules,C:\MYAPPS\EAP-6.4.0\jboss-eap-6.4\modules\system\layers\base,C:\MYAPPS\EAP -6.4.0\jboss-eap-6.4,C:\MYAPP\Utils\JBossUtils\VLSEnv\VLS1,C:\MYAPP,C:\,C:\MYAPP\Utils\JBossUtils\VLSEnv\VLS1\VLS\bin) )) 2017-02-01 02:59:08:450 package1.fusion [272396945] java.lang.LinkageError: 无法链接 net/sf/json/JSONException (来自本地模块加载器@4c3e4790 的模块“MYAPP:lib”(查找器:本地 模块查找器@38cccef(根: C:\MYAPPS\EAP-6.4.0\jboss-eap-6.4\modules,C:\MYAPPS\EAP-6.4.0\jboss-eap-6.4\modules\system\layers\base,C:\MYAPPS\EAP -6.4.0\jboss-eap-6.4,C:\MYAPP\Utils\JBossUtils\VLSEnv\VLS1,C:\MYAPP,C:\,C:\MYAPP\Utils\JBossUtils\VLSEnv\VLS1\VLS\bin) ))

我们使用的是旧版本的 json-lib,是不是因为这个问题?

【问题讨论】:

【参考方案1】:

LinkageError 是您在一个经典案例中会遇到的情况,即您有一个由多个类加载器加载的类 C,并且这些类在同一代码中一起使用(比较、强制转换等)。如果它是相同的类名,或者即使它是从相同的 jar 加载的,都没有关系 - 如果从另一个类加载器加载,来自一个类加载器的类总是被视为不同的类。

当您包含两次库时,可能会发生这种情况。见链接:

https://docs.jboss.org/jbossas/docs/Server_Configuration_Guide/beta422/html/Class_Loading_and_Types_in_Java-LinkageErrors___Making_Sure_You_Are_Who_You_Say_You_Are.html

【讨论】:

以上是关于java.lang.LinkageError --- json-lib -- 问题?的主要内容,如果未能解决你的问题,请参考以下文章

Tomcat 加载 jsp 异常:ServletException: java.lang.LinkageError

异常处理_Maven之web项目java.lang.LinkageError

解决java.lang.LinkageError: loader constraint violation: when resolving method "javax.mail.intern

weblogic???:java.lang.LinkageError: loader constraint violation in interface itable initialization

java.lang.LinkageError Groovy 2.4.14 apache poi 3.17 jdk 1.8.0_92 http-builder 0.7.1

java.lang.LinkageError:com / sun / xml / messaging / saaj / soap / SOAPDocumentImpl