解决struts中Antlr包冲突问题

SSH组合完成后,执行hibernate的HQL查询时,

报错:Java.lang.NoSuchMethodError: antlr.collections.AST.getLine()

原因:Struts自带的antlr-2.7.2.jar,比Hibernate4.1.4自带的antlr-2.7.7.jar的版本要低,故要删除前一个低版本的,struts1.3 和2.1都带有antlr-2.7.2.jar

解决方案:不加载struts自带的antlr-2.7.2.jar。

步骤:选择项目点击右键——>"Build Path“——>“Configure Build Path”——>选中"Struts2.1 Librarys"——>点击右边的“Edit”——>展开"Core"——>取消勾选”antlr-2.7.2.jar"。OK!

如图:

picture