解决WebLogic12C与Hibernate3.3的Antlr包冲突问题
来源:互联网 发布:java多线程发送短信 编辑:程序博客网 时间:2024/09/21 09:01
环境配置:weblogic12C Struts2.1.8+Spring2.5+Hibernate 3.3
问题描述:项目在tomcat7下运行正常,但部署在WebLogic12C下运行时,就有如下异常:
ClassNotFoundException: org.hibernate.hql.ast.HqlToken
语法解析器异常,提示找不到指定的Class
产生以上问题的原因是WebLogic为了去分析EJBQL,带有自己的Antlr.jar包,与项目中Hibernate的Antlr.jar包有冲突。
解决以上问题思路是让JVM优先加载web项目的antlr.jar包,而不是weblogic自带的较低版本的antlr.jar包。
一、如果是在MyEclipse中启动:
在MyEclipse的Preferences->Server->WebLogic->WebLogic10.x配置
展开Paths,在Prepend to classPath,将web项目lib目录下的antlr-2.7.6.jar包加入:
通过上面配置,启动WebLogic,问题解决。
二、如果是直接启动WebLogic部署,只需要在项目的WEB-INF/WebLogic.xml文件中添加
<prefer-web-inf-classes>true</prefer-web-inf-classes>配置:
weblogic.xml
<?xml version="1.0" encoding="UTF-8"?><weblogic-web-app xmlns="http://www.bea.com/ns/weblogic/90"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><jsp-descriptor><keepgenerated>false</keepgenerated><!-- page-check-seconds默认值是1,表示每隔1秒对JSP页面进行检查,检查JSP页面是否被修改、是否需要重新编译。系统上线后会影响性能,需要对该默认值修改为-1,表示永不检查 --><page-check-seconds>-1</page-check-seconds><verbose>true</verbose><debug>true</debug></jsp-descriptor><container-descriptor><!-- 指示优先从部署项目的WEB-INF/lib目录下加载jar包,解决WegLogic与hibernate包冲突问题 --><prefer-web-inf-classes>true</prefer-web-inf-classes><!-- servlet-reload-check-secs的默认值也是1,每隔1秒检查servlet是否被修改并需要重新编译,很影响性能。这里建议修改为-1,表示永不检查--><servlet-reload-check-secs>-1</servlet-reload-check-secs></container-descriptor><context-root>/</context-root></weblogic-web-app>
问题得到解决。
用第二种办法,可以代替第一种。
- 解决WebLogic12C与Hibernate3.3的Antlr包冲突问题
- weblogic10与hibernate3中antlr.jar包冲突问题解决(bonita bpm部署到weblogic10遇到的问题)
- weblogic10与hibernate3中antlr.jar包冲突问题解决
- 解决struts中Antlr包冲突问题
- 解决WebLogic12C与项目中jar包冲突
- 解决WebLogic12C与项目中jar包冲突
- Antlr包冲突问题
- 关于如何处理MyEclipse中struts2与Hiber 3中antlr-2.7.2.jar与antlr-2.7.6包冲突的问题
- 解决Weblogic与Hibernate的antlr-x.x.jar冲突引起的ClassNotFoundException: org.hibernate.hql.ast.HqlToken问题
- Struts2+Spring3+Hibernate3整合时遇到的包冲突问题
- 基于S2SH框架的项目—antlr-2.7.2.jar包冲突问题
- 解决包冲突问题
- 解决包冲突问题
- 【整理】Struts2 antlr-2.7.2.jar包冲突问题
- 解决jar包冲突的问题
- jar包的冲突问题如何解决
- MyEclipse添加的Struts和hibernate包造成antlr冲突
- 集成Struts1.x + Hibernate3.2的时候出现jar包冲突的问题
- apache+php+mysql
- Hibernate重要规则总结
- 判断电脑哪些事串口
- 32位字节序转换
- Linux2.6.37内核异常跳转流程
- 解决WebLogic12C与Hibernate3.3的Antlr包冲突问题
- Flash Socket安全问题
- Apk常用调试方法
- “瓷娃娃”夏季皮肤美白妙招
- Linux命令之tee - 重定向输出到多个文件
- Windows Phone开发(40):漫谈关键帧动画之中篇
- 最近在使用MyEclipse的SVN插件时总是弹出一个大大的对话框,报一个Failed to load JavaHL Library.错误
- Eclipse中用subclipse通过ssh tunneling check out project repo
- minicom移植