用MyEclipse添加的Struts和hibernate包造成antlr冲突。
struts 和hibernate都有一个antlr的jar包,并且版本不一样,造成冲突。
会造成setParameter()、setString()方法不能用等一些问题。
报错如下:
ava.lang.NoSuchMethodError: antlr.collections.AST.getLine()I
org.hibernate.hql.ast.HqlSqlWalker.generateNamedParameter(HqlSqlWalker.java:895)
org.hibernate.hql.antlr.HqlSqlBaseWalker.parameter(HqlSqlBaseWalker.java:4764)
org.hibernate.hql.antlr.HqlSqlBaseWalker.expr(HqlSqlBaseWalker.java:1373)
................
org.hibernate.hql.ast.HqlSqlWalker.generateNamedParameter(HqlSqlWalker.java:895)
org.hibernate.hql.antlr.HqlSqlBaseWalker.parameter(HqlSqlBaseWalker.java:4764)
org.hibernate.hql.antlr.HqlSqlBaseWalker.expr(HqlSqlBaseWalker.java:1373)
................
要手动到文件夹里把版本低的一个删掉。
(这个问题费了我一上午时间,本来不想这样的,看来暂时没有别的方法了。)
转载:http://www.cnblogs.com/nightmare23/archive/2011/03/23/1992268.html