MyEclipse 下替换默认的jar包

来源:互联网 发布:网络诽谤司法解释 编辑:程序博客网 时间:2024/05/16 23:57


在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包。

PS:坑死我啦!害我2天都研究自己的代码是不是出错了!

原帖地址:http://blog.csdn.net/rzs840707/article/details/7246373

 

原创粉丝点击