ssh框架出现Java.lang.NoSuchMethodError: antlr.collections.AST.getLine()I错误

  原因:因为Struts自带的antlr-2.7.2.jar,比Hibernate自带的antlr-2.7.7.jar的版本要低,存在jar包冲突现象,因此要删除前一个低版本的。

  由于myeclipse 添加的struts性能 不是放在工程lib下的,而是myeclipse自带的,,所以删除可能比较麻烦,我们可以按一下操作删除,隔热觉得较为有效:

在C:\Users\shymain\MyEclipse Professional 2014\configuration/org.eclipse.osgi/bundles 下搜索antlr-2.7.2.jar,

将搜索到的,全部删除(可能有些是在1.3下面的,有些是在2.1下面的)。

然后在 C:\Users\shymain\MyEclipse Professional 2014\/plugins   搜索 *struts*.jar ,然后会出现不同的jar包,选中 一个文件,,打开方式选择压缩包,

找到 com.genuitec.eclipse.cross.easystruts.eclipse_8.6.0.me201007231647.jar包, 在lib下和data/1.3下删除antlr-2.7.2.jar(这个是删除1.3里面的)

而再打开 com.genuitec.eclipse.struts2_8.6.0.me201007292038.jar 包,在  data/2.1/core 下删除 antlr-2.7.2.jar (这个是2.1里面的)

  在此,两个jar包就从Struts1.3和2.1中移除了,因为两个jar是Common目录下,所以删除后,在运行Myeclipse,Myeclipse就不能再从两个包中找到antlr-2.7.2.jar包并加载了。

  注意:在删除jar包的过程中,可能存在不能删除的现象,可以先将myeclipse关闭,然后再进行操作。

posted @ 2017-08-05 00:51  shymain  阅读(102)  评论(0编辑  收藏  举报