之前公司的项目都是部署在tomcat或was上面,运行的好好的。现在客户要求把项目部署在weblogic11g上面,结果报错了:
org.hibernate.QueryException: ClassNotFoundException: org.hibernate.hql.ast.HqlToken
后来发现是weblogic自带的antlr.jar和hibernate3.0依赖的jar包冲突了,试了很多方法,感觉下面的方法比较靠谱点。下面是我的解决方法:
一、找到weblogic的启动文件(我的weblogic是部署在Linux系统上面),在/opt/Oracle/Middleware/user_projects/domains/csb_domain/bin路径下的startWebLogic.sh,打开添加启动默认加载的antlr.jar。如下两行:
ANT_CLASSPATH="${WL_HOME}/server/lib/antlr-2.7.7.jar"
CLASSPATH="${ANT_CLASSPATH}:${CLASSPATH}"
二、把你项目依赖的antlr-2.7.7.jar添加到ANT_CLASSPATH配置的路径下,如/opt/Oracle/Middleware/wlserver_10.3/server/lib,然后重启系统一般就可以了,如果还不行的话,重启一下weblogic。
希望对你们有所帮助
本文详细介绍了如何解决部署在WebLogic11g上的项目与内置antlr.jar及hibernate3.0依赖jar包之间的冲突问题。通过修改启动文件以添加默认加载的antlr.jar,并确保项目依赖的antlr-2.7.7.jar正确配置,最终成功部署项目。
910

被折叠的 条评论
为什么被折叠?



