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

时间:2017-02-02 06:57:49

标签: jboss

  

java.lang.LinkageError:无法链接net / sf / json / JSONException   (模块“MYAPP:lib”来自本地模块加载器@ 4c3e4790(finder:local   模块查找器@ 38cccef(根:   C:\安装MyApps \ EAP-6.4.0 \的JBoss-EAP-6.4 \模块,C:\安装MyApps \ EAP-6.4.0 \的JBoss-EAP-6.4 \模块\ SYSTEM \层\基,C:\安装MyApps \ EAP -6.4.0 \ JBoss的-EAP-6.4,C:\ MYAPP \的Utils \ JBossUtils \ VLSEnv \卫星发射运载火箭,C:\ MYAPP,C:\,C:\ MYAPP \的Utils \ JBossUtils \ VLSEnv \卫星发射运载火箭\ VLS \ bin)中))   2017-02-01 02:59:08:450 package1.fusion [272396945]   java.lang.LinkageError:无法链接net / sf / json / JSONException   (模块“MYAPP:lib”来自本地模块加载器@ 4c3e4790(finder:local   模块查找器@ 38cccef(根:   C:\安装MyApps \ EAP-6.4.0 \的JBoss-EAP-6.4 \模块,C:\安装MyApps \ EAP-6.4.0 \的JBoss-EAP-6.4 \模块\ SYSTEM \层\基,C:\安装MyApps \ EAP -6.4.0 \ JBoss的-EAP-6.4,C:\ MYAPP \的Utils \ JBossUtils \ VLSEnv \卫星发射运载火箭,C:\ MYAPP,C:\,C:\ MYAPP \的Utils \ JBossUtils \ VLSEnv \卫星发射运载火箭\ VLS \ bin)中))

我们使用的是旧版本的json-lib,上面的问题是由于那个?

1 个答案:

答案 0 :(得分:0)

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