java.lang.NoSuchMethodError: antlr.collections.AST.getLine()解决方法

来源:互联网 发布:软件测试面试注意事项 编辑:程序博客网 时间:2024/05/21 13:54

java.lang.NoSuchMethodError: antlr.collections.AST.getLine()解决方法

    博客分类: 
  • ssh
antlrhibernatejavasshstruts2 
配置struts2+hibernate,错误java.lang.NoSuchMethodError: antlr.collections.AST.getLine()解决方法 
由于是用myeclipse自己导的包,出现了包版本冲突问题,问题出在struts包里面有也有个antlr_XXX.jar,与hibernate包里面的冲突了,hibernate的版本高 
SSH组合完成后,执行hibernate的HQL查询时,报错: 
java.lang.NoSuchMethodError: antlr.collections.AST.getLine()I 
看来是antlr这个语法解析包出错 
因为Struts自带的antlr-2.7.2.jar,比Hibernate3.3自带的antlr-2.7.6.jar的版本要低,故要删除前一个低版本的,struts1.3 和2.1都带有antlr-2.7.2.jar,要把版本低的清除掉。 
由于myeclipse 添加的struts性能 不是放在工程lib下的,而是myeclipse自带的,所以删除比较麻烦。 
我是直接到workspace中查找下antlr-2.7.2.jar的包,删除之,之后编译时就会自动找到Hibernate3.3自带的antlr-2.7.6.jar。 
问题解决。

0 0