tomcat中web项目迁移到weblogic上jar冲突概述和解决办法

当你在tomcat下开发web应用迁移到weblogic上运行时若是报诸如此类错误: html

1:javax.validation.ValidationException: HV000041: Call to TraversableResolver.isReachable() threw an exception. java

2:Caused By: javax.persistence.PersistenceException: Failed to load provider from META-INF/services linux

3:Caused By: java.lang.ClassCastException: org.apache.openjpa.persistence.PersistenceProviderImpl cannot be cast to javax.persistence.spi.PersistenceProvider web

这个问题是因为weblogic自身的jpa jar包和web应用使用的jpa jar冲突致使的,解决以上问题: apache

1:须要在web应用的WEB-INF目录下添加weblogic.xml文件,其中要添加上<prefer-web-inf-classes>true</prefer-web-inf-classes>内容。须要注意的是weblogic.xml文件的xmlns最好和weblogic容器的weblogic.xml文件的xmlns一致。 tomcat

2:以linux为准,在weblogic的安装目录下修改一下文件: dom

setDomainEnv.sh和startWebLogic.sh,这两个文件存放在一下目录:user_projects/domains/weblogic/bin ide

setDomainEnv.sh修改内容以下: spa


添加了:JAVA_OPTIONS="${JAVA_OPTIONS} -DUseSunHttpHandler=true" xml


startWebLogic.sh修改内容以下:

添加了:export EXTRA_JAVA_PROPERTIES="-DUseSunHttpHandler=true",去掉了:export JAVA_OPTIONS内容


完成以上步骤后,重启weblogic便可。

参考地址为:http://blog.sina.com.cn/s/blog_4c925dca01014vnt.html

相关文章
相关标签/搜索