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

配置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。

楼下回复方法:

删了之后又出现了,又找到了一个新办法
具体方法:
在MyEclipse下,windows-->preferences-->在文本框中搜索struts2-->选择antlr2.7.2-->remove
在tomcat该应用的目录WEB-INF\lib 删除 antlr2.7.2.jar

问题解决,感谢博主

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章