SSH框架整合中,对于java.lang.NoSuchMethodError: antlr.collections.AST.getLine()错误解决

本人在进行SSH框架整合时,遇到自写的HQL查询的DAO出现java.lang.NoSuchMethodError: antlr.collections.AST.getLine()错误,分析后发现是Struts和Hibernate的Jar包里antlr2.7.2 与 antlr2.7.7 冲突所致。

SSH版本信息:

Spring3.1.1、Struts2.1、Hibernate4.1.4

解决方案

1、找到hibernate的antlr2.7.7,复制到struts的core包下;

2、在web工程下选择已经导入的struts的Libraries,点击鼠标右键,选择Buildpath--->Configure Build Path;选择struts类库,点击Edit--->打开Core列表---->反选低版本antlr,选中高版本antlr--->点击Finish;

3、移除tomcat的Web项目,重新添加、启动即可。

备注:如果采用的是直接将包导入wen-inf/lib,只需将antlr低版本替换即可!

 

posted @ 2016-07-27 09:48  疯狂麦洛  阅读(307)  评论(0编辑  收藏  举报