java.lang.NoSuchMethodError: antlr.collections.AST.getLine()I 異常解決

今天在學習hibernate的工程中,使用struts + hibernate 時出現如下的錯誤:


java.lang.NoSuchMethodError: antlr.collections.AST.getLine()I

org.hibernate.hql.ast.HqlSqlWalker.generateNamedParameter(HqlSqlWalker.java:931)
org.hibernate.hql.antlr.HqlSqlBaseWalker.parameter(HqlSqlBaseWalker.java:4909)

。。。。


上網搜索了一下解決方法,我成功解決的方法是:

首先,出錯的原因是 hibernate引入的 antlr-2.7.6.jar 包和 struts 引入的 anltr-2.7.2.jar 包 衝突,

其實就是struts 引入的包版本較低,只需要刪除即可,但是不能直接就在項目瀏覽中直接刪除,具體的刪除方法如下:

選擇windows---preferences---在文本框中搜索struts---選擇你使用的struts 版本---選擇antlr-2.7.2.jar---Remove---搞定

很多人刪除jar包後還是有同樣的錯誤,那是因爲沒有清理tomcat緩存,直接把tomcat\work\Catalina\localhost下的對應的項目刪除

然後在tomcat中移除該項目,再重新部署上去就OK了

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