目的:给Jar定制化个人的方法行为
1、反编译 找到idea里面的java-decompiler.jar,对于要反编译的目标jar:A.jar,为了好区分,将A.jar放到当前路径的bin下(自己新建一个bin和src文件夹)。可以执行下面的命令 java -cp java-decompiler.jar org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler -dgs=true bin/A.jar src/这样,就会在src里面生成一个反编译后的jar,只需要解压出来即可。
2、建立项目 打开idea,创建一个空项目,里面自带了src目录,我们创建两个目录,分别是lib和decompiled_src,前者存放反编译前的原始jar,后者存放反编译后解压出来的文件件(解压的时候,要选解压到xxx文件夹) 然后配置初始依赖,即把lib中的jar加入到环境中即可3、构建可修改和重新编译的环境 进入到project structures->Artifacts->点击+号->选择jar->From modules with dependencies->找到反编译前的MANIFEST.MF,然后找到main函数所在的类(直接将这个值填写到弹出的Main Class框里面即可)->ok->apply4、首先反弹main函数所在类 来到decomiled_src目录,找到刚才填写的main函数所在类,在项目自建的src中创建与该类所在的包的目录,然后右键->Refactor->Copy File->在弹出的框中,写入刚刚你创建的目录。然后点击refactor。5、修改某个文件并重编译 对于你需要修改的B.java,首先按照第4步中的方法,将B.java复制一份到自建Src中,然后修改(如果里面引用了原jar里面的jar,我们需要将这些jar引入到项目的dependencies中),然后点击工具来顶部的build->build Artifacts->build 即可。最后从out里面获取jar即可。