解决WebLogic12C与项目中jar包冲突
2014-12-02 09:12
344 查看
环境配置: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文件中添加
[html]
view plaincopy
<prefer-web-inf-classes>true</prefer-web-inf-classes>
配置:
weblogic.xml
问题得到解决。
用第二种办法,可以代替第一种。
转载自:http://blog.csdn.net/greensurfer/article/details/7559969
问题描述:项目在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文件中添加
[html]
view plaincopy
<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>
问题得到解决。
用第二种办法,可以代替第一种。
转载自:http://blog.csdn.net/greensurfer/article/details/7559969
相关文章推荐
- 解决WebLogic12C与项目中jar包冲突
- 项目中Jar包冲突解决
- tomcat jar 包 与 项目jar包冲突问题解决
- 解决项目中jsp-api,servlet-api和tomcat中jar包冲突问题
- Maven依赖之解决Maven优先使用Eclipse工作空间项目而非Maven库jar包问题
- 解决android-support-v4.jar引用外部项目冲突问题
- 解决TFS中MSBuild开发项目和开发编译中一些冲突(小技巧)
- 项目经理解决冲突的模式
- 项目同时使用Prototypet和jQuery冲突解决方法
- 解决项目打jar包后无法获取配置文件的路径问题
- VS2013新建MVC5项目,使用nuget更新项目引用后发生Newtonsoft.Json引用冲突的解决办法
- weblogic中jar包冲突问题的解决办法
- 解决jboos7与项目log4j的冲突
- 求项目中遇到的jquery 和 prototype 冲突解决方式??在线等待·····
- 构建SSH时,Commons项目中两个包冲突问题的解决
- 跨文化团队的项目经理,采用什么冲突管理手段最有助于解决问题
- VS2008创建智能设备项目与IE8冲突的解决
- 两个项目发布在tomcat下引起log4j冲突问题解决
- Visual Studio 2008和IE8冲突解决 Add Function/Add Variable/Smart Device项目建立等
- 解决WebLogic12C与Hibernate3.3的Antlr包冲突问题