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關閉,然後再進行操作。
ssh框架出現Java.lang.NoSuchMethodError: antlr.collections.AST.getLine()I錯誤