解决antlr.collections.AST.getLine()的两种方法

搭建ssh的整个框架实在是一个头疼之处,使用eclipse的 add *** capabilities后,由于struts的jar包里的antlr-2.7.2.jar,比Hibernate3.3自带的antlr-2.7.6.jar的版本要低。所以导致导致了antlr.collections.AST.getLine()。

解决方法目前测试的有2个。

第一种方法:

  1. 选择Myeclipse的window中的preference
  2. 在里面找到Myeclipse–project capabilitie–struts2
  3. 将其中的antlr_2.7.2jar移除
  4. 点击add jar/zip,把antlr_2.7.6.jar添加进去即可,这个文件可以自己去找
  5. 之后tomcat中,remove deployment一次,再add deployment一次即可

第二种方法:

这种方法比较危险,因为它要删除Myeclipse自带的一个文件。

在MyEclipse的configurationorg.eclipse.osgibundles目录下搜索antlr-2.7.2.jar,删除所有antlr-2.7.2的jar包文件; 继续在MyEclipse的Commonplugins目录中 搜索 struts.jar,用winRAR之类的软件将其中的jar包打开,删除lib或者data下的antlr-2.7.2.jar文件,如果没有就不用管。

Mikzone