【发布时间】:2017-12-21 16:43:34
【问题描述】:
在 WebLogic 12.2.1.3 上部署 Eclipse RAP 战争文件时,我们遇到以下错误;
java.lang.LinkageError:加载程序约束违规:加载程序之前为名为“org/aopalliance/aop/Advice”的不同类型启动加载
在执行一些分析后,我们发现问题是由于 WebLogic 12.2.1.3 附带 oracle_common\modules 中的 org.glassfish.hk2.external.aopalliance-repackaged.jar,这与 com.springsource.org.aopalliance_1 冲突。 0.0.jar,在我们的 WAR 文件的 WEB-INF\plugins 目录中。
我们已经尝试了一些方法来解决这个问题,但到目前为止都没有成功;
从 oracle_common\modules 中删除了 org.glassfish.hk2.external.aopalliance-repackaged.jar(WebLogic 部署后自行关闭)
从 WAR 文件中删除 com.springsource.org.aopalliance_1.0.0.jar(WebLogic 启动,但不在 WAR 文件中部署包)
更新了 WAR 文件中的 weblogic.xml;
<container-descriptor>
<prefer-web-inf-classes>false</prefer-web-inf-classes>
<prefer-application-packages>
<package-name>org.aopalliance.*</package-name>
</prefer-application-packages>
</container-descriptor>
将com.springsource.org.aopalliance_1.0.0.jar复制到WAR的WEB-INF\lib文件夹下,上面的weblogic.xml修改
我们将不胜感激任何其他更改的建议。
非常感谢
迈克
【问题讨论】: