java.lang.NoSuchMethodError: antlr.collections.AST.getLine()解決方法

配置struts2+hibernate,錯誤java.lang.NoSuchMethodError: antlr.collections.AST.getLine()解決方法
由於是用myeclipse自己導的包,出現了包版本衝突問題,問題出在struts包裏面有也有個antlr_XXX.jar,與hibernate包裏面的衝突了,hibernate的版本高
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,要把版本低的清除掉。
由於myeclipse 添加的struts性能 不是放在工程lib下的,而是myeclipse自帶的,所以刪除比較麻煩。

我是直接到workspace中查找下antlr-2.7.2.jar的包,刪除之,之後編譯時就會自動找到Hibernate3.3自帶的antlr-2.7.6.jar。

樓下回複方法:

刪了之後又出現了,又找到了一個新辦法
具體方法:
在MyEclipse下,windows-->preferences-->在文本框中搜索struts2-->選擇antlr2.7.2-->remove
在tomcat該應用的目錄WEB-INF\lib 刪除 antlr2.7.2.jar

問題解決,感謝博主

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章