替换jar包指定的文件

替换jar 包下面的class 文件,很多人会想到直接用winrar 打开替换,在一般的情况下,


是可行的,但是如果说这个jar 的代码经过混淆后,会有大小写不同,文件名是相同的,在windos下


文件名是不区分大小写的。如果直接用winrar替换的话,你会发现,替换的并非是你想替换的那个文件。


现在有2中可以行的方案:


1 在Linux下把jar包解压,替换,打成jar。这样比较麻烦,这windos还不能用。


2 可以直接用Java jar 工具来替换。


jar uvf test.jar test.class


这样会直接把test.class 直接添加到jar包的根目录。


jar uvf test.jar com/test/test.class 


这样就可以替换相应目录的class文件了。


这里值得注意的是  test.class 必须放在com/test 文件下,要和jar的路径对应起来。不然会说


没有这个文件或目录。jar 包 和 com 文件夹的上级在同一个目录。


 


参考资料  http://blackwing.iteye.com/blog/1545670