MyEclipse 下替換默認的jar包

       在J2EE開發過程中,MyEclipse集成的框架中,其核心包Core,由於多個框架整合中,有重複的包;最經常見的是antlr,asm,common-io等包。因爲在開發中,使用MyEclipse來加入各集成框架時,會將其所有的包都加載進來,在部署爲war包時,會將所有的包都打包。所以會出現antlr-2.7.2.jar和antlr-2.7.6.jar共存的情況,但是Hibernate的FindByProperty 方法會出現錯誤。因爲Hibernate需要使用較新的antlr-2.7.6.jar包,但是antlr-2.7.2.jar一般會排在前面(按照字符序),所以每次都會加載antlr-2.7.2.jar,從而可能導致錯誤。

        這時,我們就像能不能把Struts 2(Core)下面的antlr-2.7.2.jar拿掉,或者替換成antlr-2.7.6.jar。如果你找到MyEclipse\MyEclipse x.x\configuration\org.eclipse.osgi\bundles\99\1\.cp\data\2.1\core下面的antlr-2.7.2.jar,直接刪掉,再次啓動MyEclipse時,它會自動添加上;我們可以把antlr-2.7.6.jar拷貝到該文件夾下,並把原來的antlr-2.7.2.jar刪除,還需要把antlr-2.7.6.jar重命名爲antlr-2.7.2.jar。這樣就可以騙過MyEclipse,將antlr-2.7.6.jar 認爲是antlr-2.7.2.jar了。從而達到我們的目的!

        在發佈的程序WEB-INF/lib中,會顯示antlr-2.7.2.jar,但是其實際上是我們已經替換過的antlr-2.7.6.jar啦!!

        其他的衝突類jar包均可用此方法替換!注意如果出現了錯誤或者想恢復,只需把相應位置的jar包刪除掉,MyEclipse 會恢復成默認的jar包。

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