本人在搭建一个SSH的小例子,在执行查询的时候,页面报错,如下:
java.lang.NoSuchMethodError: antlr.collections.AST.getLine()I
org.hibernate.hql.ast.HqlSqlWalker.generatePositionalParameter(HqlSqlWalker.java:896)
org.hibernate.hql.antlr.HqlSqlBaseWalker.parameter(HqlSqlBaseWalker.java:4819)
org.hibernate.hql.antlr.HqlSqlBaseWalker.expr(HqlSqlBaseWalker.java:1373)
org.hibernate.hql.antlr.HqlSqlBaseWalker.exprOrSubquery(HqlSqlBaseWalker.java:4243)
经排查,确认是jar包冲突引起的,struts2自带的antlr-2.7.2.jar版本较低,和项目已经存在的antlr-2.7.6.jar冲突,将antlr-2.7.2.jar移除即可。
操作:选择windows---preferences---struts 2---选择antlr-2.7.2.jar---Remove---OK。