zoukankan      html  css  js  c++  java
  • 怎样替换jar包的指定文件

    在做(或修改别人的)项目的时候,可能遇到要修改调用的的jar包内的类属性或方法的问题。在eclipse或是其他的IDE中是无法直接修改的,所以需要一个解压jar-->修改文件-->编译-->打包成jar文件的过程,下面简要的记录下我是如何做的:

    1.将工程中的jar文件拷出来,用解压工具解压得到对应的文件;


    2.在文件中找到要修改的class文件,将class文件拷出来,用反编译软件反编译一下得到Java文件;(如果包含.java文件就简单了,直接拷贝出.java文件就好了);


    3.在eclipse上新建一个工程(工程的目录结构与jar中的一致),再新建一个类文件(类名与要修改的类名一致),把(2)中得到的.java文件的内容拷贝进去


     4.这时候可能会报很多错误,因为该类中可能引用了一些其他的包还没有包含进来,根据报错的情况,找到缺少的jar包(原工程中包含这些jar包,可以把原工程的的jar包都拷       过来),拷贝到工程的libs目录下,然后build-path引用到的jar包;

    5.这个时候工程不报错了,你可以开始修改该文件了,修改完成之后,按ctr+s保存,就编译完成了,到工程的bin目录下把新生成的.class文件拷出来,替换掉原jar包解压后的文件中要修改的class文件


    6.在cd 到解压文件所在目录,通过jar cvf  XXX.jar  XXX  其中XXX.jar为要打包成的jar文件名  XXX为待打包的文件


    打包完成


    7.完成之后,就可以当前的目录下找到新生成的jar包了,把它拷贝到原工程中替换掉原来的jar包,这样就大功告成了;

  • 相关阅读:
    基于LINUX 主机防火墙的端口转发
    基于LINUX 主机防火墙的端口转发
    基于LINUX 主机防火墙的端口转发
    ord在python是什么意思?
    ord在python是什么意思?
    ord在python是什么意思?
    ord在python是什么意思?
    Eclipse插件svn和TortoiseSvn版本对应关系
    Eclipse插件svn和TortoiseSvn版本对应关系
    Eclipse插件svn和TortoiseSvn版本对应关系
  • 原文地址:https://www.cnblogs.com/gaoguofeng/p/6735476.html
Copyright © 2011-2022 走看看