赞
踩
写在前面的话:记录一下,java编译反编译和打包的骚操作。
需求一:将下载的jar包里面的class文件用反编译工具(jd-gui工具)进行反编译为java文件后,修改完成后需要重新编译成class文件放入jar包中。
问题一:反编译后的java文件引用的有其他类和第三方jar包类
解决:指定第三方jar包进行编译
单个java文件
D:\javacode>javac -cp d:/javacode/lib/jar包名称.jar; Test.java
多个java文件
D:\javacode>javac -cp d:/javacode/lib/jar包名称.jar; *.java
多个java文件,多个jar包
D:\javacode>javac -Djava.ext.dirs=D:/javacode/lib; *.java
需求二:在搭建spring源码的时候,spring把最新的cglib和objenesis重新打包了,所以源码中没有这部分,通过下载spring-core.jar包解压后把需要的class文件打成jar包
问题一:怎样将class文件打成jar包
解决:你看
D:\测试\spring-core-5.0.7.RELEASE>jar cvf spring-cglib-repack-3.2.0.jar org/springframework/cglib
D:\测试\spring-core-5.0.7.RELEASE>jar cvf spring-objenesis-repack-2.1.jar org/springframework/objenesis
解决搭建spring源码运行错误的问题:
compile fileTree(dir: 'libs', include: '*.jar')
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。