jar包的修改与重新打包
jar本身就是一种压缩格式,可以使用JD-GUI直接打开jar包查看,JD-GUI实现了class到source的逆过程,不过到source后基本是不可运行并且有很多错误的,特别是分支语句,if-else语句反编译后出现大量的Label语句、goto语句。
第一种情况,仅删除class,使用jar命令直接打包
- 将jar包改为zip,进行unzip解压,删除需要移除的class文件或者文件夹。
- jar cvf xxx.jar(jar文件名) META-INF/MANIFEST.MF(MANIFEST文件路径) *(表示把该目录下所有class加入jar包)
第二种情况,加入新的class文件
- 第一步同样解压jar包
- javac sourcefile(或者/a/b/*.java多个文件),把java源文件编译为class文件。
- 把class文件按照包路径放入解压的jar包中,尝试使用jar命令进行打包
用IDE久了,就忘了javac、jar这种命令了。
jarjar工具
jarjar工具也是一个很方便的打包java代码的工具,可以使用ant任务的方式,也可以单独在命令行下使用。
这里有一篇比较详细的使用教程,不再赘述http://blog.csdn.net/zzljlu/article/details/6907064