java.lang.NoSuchMethodError: antlr.collections.AST.getLine()I

 环境 :struts2+hibernate+srping+tomcat

症状:
我在向数据库中插入一条记录时,浏览器报如下错误:

java.lang.NoSuchMethodError: antlr.collections.AST.getLine()I
org.hibernate.hql.ast.HqlSqlWalker.generateNamedParameter(HqlSqlWalker.java:931)
org.hibernate.hql.antlr.HqlSqlBaseWalker.parameter(HqlSqlBaseWalker.java:4909)
org.hibernate.hql.antlr.HqlSqlBaseWalker.expr(HqlSqlBaseWalker.java:1404).........................................

原因及解决办法:

当在几种框架集成的时候,在调用HibernateDaoSupport中的某个方法时会出现:

java.lang.NoSuchMethodError: antlr.collections.AST.getLine()I 的错误。这是因为在struts2自带的antlr-2.7.2.jar包的版本较低。

需要换成antlr-2.7.6.jar。其实在项目中已经存在了antlr-2.7.6.jar这个包,现在唯一需要做的就是删除antlr-2.7.2.jar包。

选择windows---preferences---在文本框中搜索struts 2(中间有空格)---选择struts 2---选择antlr-2.7.2.jar---Remove---OK。

如果还无法正常运行,到tomcat目录下删除antlr-2.7.2.jar

 

 

你可能感兴趣的:(java.lang.NoSuchMethodError: antlr.collections.AST.getLine()I)