您的位置:首页 > 其它

weblogic 包加载与冲突等问题

2015-12-07 13:56 441 查看

问题1(org.apache.commons.lang.ClassUtils.getClass)

?

解决办法

在WEB-INF文件夹下,加上weblogic.xml,让WebLogic 10先引用WEB-INF下面的jar,内容如下:

?

问题原因说明

http://hi.baidu.com/tk_ayj/blog/item/b5865bce25339a2df9dc61a4.html

这里解释了xml-api.jar的问题
http://stackoverflow.com/questions/4925901/classcastexception-while-parsing-xml-with-weblogic

这篇文档再次印证了那两个问题
http://www.liferay.com/community/wiki/-/wiki/Main/Weblogic+tips

问题2(java.lang.ClassCastException: **weblogic.xml.jaxp.RegistryDocumentBuilderFactory)

?

解决办法

删掉war包中的xml-apis就可以了

问题原因说明

因为我们刚在weblogic.xml里设置了优先加载WEB-INF中的jar,那么要删掉冲突的jar。
http://www.liferay.com/community/wiki/-/wiki/Main/Weblogic+tips里说的很清楚:

Theweblogic.xmlWebapplication deployment descriptor contains a<prefer-web-inf-classes>element(asub-element of the<container-descriptor>element).Bydefault,thiselementissettofalse.**Settingthiselement totruesubverts the classloader delegation model so thatclassdefinitionsfromtheWebapplication are loadedinpreference toclassdefinitionsinhigher-level classloaders.**Thisallows aWebapplication touseits own version of a third-partyclass,which might also be part ofWebLogicServer.

**Whenthissettingisenabledinweblogic.xml,the following jars has to be removedfromportal WEB-INF/lib**(jarswithjavax.xmlpackage):

jaxrpc.jar

stax.jar

wstx.jar

xml-apis.jar

问题3(java.lang.NoSuchMethodError: javax.persistence.OneToMany.orphanRemoval())

?

解决办法

把war中的hibernate-jpa-2.0-api-1.0.0.Final.jar删掉。

问题原因说明

war和Weblogic 10本身都有jpa的jar包,冲突。

问题4(**java.lang.NoClassDefFoundError: javax/persistence/Cacheable**)

?

解决办法

将hibernate-jpa-2.0-api-1.0.0.Final.jar放到%WEBLOGIC_HOME%\jdk160_11\jre\lib\ext中,让它在Weblogic 10的JPA jar之前引用。

如果使用的是jrockit,则应该将这个jar放在%WEBLOGIC_HOME%\jrockit_160_05\jre\lib\ext中

问题原因说明

Weblogic 10.3里的jpa是1.0的(%WEBLOGIC_HOME%\modules\javax.persistence_1.0.0.0_1-0-2.jar),而我们使用的是2.0版本的。而JPA 1.0好像不支持缓存,所以,单纯的删除hibernate-jpa-2.0-api-1.0.0.Final.jar是不行的。

问题5(**Cannot resolve reference to bean 'dorado.velocityHelper' while setting bean property 'velocityHelper';**)

?

解决办法

把velocity-tools-2.0.jar删掉

问题6(Bad date header)

?

解决办法

安装WebLogic 10gR3版本的CR380042_103GA.jar补丁,具体办法:

首先将CR380042_103GA.jar(点击下载)拷贝到WebLogic的domain的lib目录下; 然后修改setDomainEnv.sh/setDomainEnv.bat(前者对应linux系统,后者为windows系统),在最后设置的CLASSPATH中增加,如下:

?

相关说明文档参考:https://forums.oracle.com/forums/thread.jspa?threadID=705412


问题7(javassist.util.proxy.ProxyFactory.setUseCache(Z))

?

xwork-core-2.1.6.jar导致的

参考ISSUE:http://www.bsdn.org/projects/dorado7/issue/dorado7-1157

问题8:(weblogic.application.ModuleException)

?

这是因为包冲突了,如果项目的lib里有wstx-asl-xxx.jar,部署之前先从war包里删除这些jar包,再部署就可以了。
注意还要在WEB-INF目录下添加一个weblogic.xml,设置属性优先使用当前应用的包文件。配置内容参考问题1

问题9:No bean named 'dorado.packagesConfigLoader' is defined

解决办法就是在WEB-INF目录下添加weblogic.xml文件,配置内容参考问题1

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: