如何修改编辑jar包中class文件呢??

转自:http://www.cnblogs.com/SpringSmallGrass/archive/2013/04/08/3008483.html

1.在有源码的情况下:就那hibernate-core-4.1.10.Final.jar这个jar来说吧,我想修改里面的org\hibernate\cfg\PropertyContainer.class文件

       1) 在Myeclipse中建立一个web工程(web_test_5)

       2)将该class文件(PropertyContainer.class)  对应的 java文件(PropertyContainer.java)  放入该web工程的src目录下(建好对应的包org.hibernate.cfg,把源文件放入该目录)  

           

       说明PropertyContainer.class源文件所在的目录:hibernate-release-4.1.10.Final\project\hibernate-core\src\main\java

       3)将PropertyContainer.class所在的jar包Build Path到该工程中(因为该java文件可能会与其他的class文件相关联,所以要引入对应的jar包)

       4)打开该java文件,接下来你想怎么改就怎么改,改好了保存(保存就行了,这样Myelipse就是自动帮你编译该java文件,并生成字节码放到指定的目录,

 嘿嘿,原来保存好了java文件,Myeclipse就会自动帮我们编译,我今天才发现)

       5)到找到对应的web工程web_test_5所在的目录,到web_test\WebRoot\WEB-INF\classes\目录下找该java文件对应的class文件

       6)解压源码所在的jar包,将该其中PropertyContainer.class替换掉就行

       7)然后再打包成jar文件就行了

2.在没有源码的情况下,我们可以使用Jclassbin软件,Jclassbin可以用于改变class出的输出,但是对于改变类好像不行,因为我们不能往Jclassbin中import,所以我们如果用Jclassbin往一个jar包中java中的某个添加一个类后,在用这个jar包时就会出问题,

可能有办法import吧,可能是目前我还不知道吧,如果哪位大虾知道 请留言哦!(有机会再研究一下吧)

 1)说明:开始我是用的DJ Java Decompiler反编译 把我需要修改的那个PropertyContainer.class文件反编译出来把代码保存到Propertycontainer.java

 查看反编译得到的java文件和Hibernate提供的jar文件中java文件有点不同,比如Hibernate中java文件使用了泛型,你用这个软件反编译得到的文件就没使用泛型

,不知道什么情况,反正最后放弃用这个软件

 2)说明:然后直接在dos里面用javac PropertyContainer.java编译

 问题来了..

 因为引用了很多其他jar下面的方法 而且PropertyContainer.java有package

 3)使用Jclassbin

 打开Jclassbin,界面效果如下

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值