MyEclipse下Struts2和Hiberante集成冲突(antlr包)解决方法

Struts2和Hiberante集成的时候,如果使用的是MyEclipse自带的Struts2 core库和Hibernate3.X库,则两个框架会有一些重复的包,导致程序运行的时候报错:

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 ,下面把它们都清除了:

网上很多资料都是通过修改配置文件的方式删除antlr-2.7.2.jar的包,但是在8.6以上版本中存在一个简单的方式解决此问题:
8.6以上版本可以在Myeclipse提供的各种框架之上再定制框架中的包。


本文来自:
    http://bbs.insigmaedu.com/forum.php?mod=viewthread&tid=30&extra=page%3D1

你可能感兴趣的:(Hibernate,struts,MyEclipse)