方法:
1、将工程中的jar文件拷出来,用解压工具解压得到对应的文件;
2、在文件中找到要修改的class文件,将class文件拷出来,用反编译软件反编译得到java文件;
3、在eclipse上新建一个工程,再新建一个类文件;
4、将java文件的内容拷贝进去;
5、把原工程的jar包拷贝到工程的libs目录下,然后build path引用到jar包;
6、进行修改之后保存,在工程的bin目录下把新生成的class文件拷出来,
修改jar包中的配置文件
原文地址: 修改jar包中的配置文件
现有jar包 base-web.jar
查找jar包里面的文件:
jar ftv ks-web-1.0.3.jar | grep pom.xml
要修改jar包中配置文件可以用下面三种方式:
方式一 通过vim命令直接修改保存jar。超方便。
通过vim命令直接编辑jar
vim xxx.jar 该命令首先会列出全部文件,可以通过输入/abc来搜索,定位到对应的abc文件后回车进入配置文件内进行编辑,:wq保存。
方式二 通过jar命令替换jar包中的文件(也可新增)
1.列出jar包中的文件清单
jar tf base-web.jar
2.提取出内部jar包的指定文件
jar xf base-web.jar `jar ft base-web.jar | grep t_ivr_data_bj.json`
3.然后可以修改文件
vim BOOT-INF/classes/realtime/t_ivr_data_bj.json
4.更新配置文件到内部jar包.(存在覆盖,不存在就新增)
jar uf base-web.jar BOOT-INF/classes/realtime/t_ivr_data_bj.json
4.1更新内部jar包到jar文件
jar uf base-web.jar 内部jar包.jar
5.可以查看验证是否已经更改
vim base-web.jar
方式三 解压jar包,修改后重新打包jar
1.解压
unzip base-web.jar
2.移除jar包,最好备份
rm base-web.jar
3.重新打包
jar -cfM0 base-web.jar *
或者
jar -cvfm0 base-web.jar ./META-INF/MANIFEST.MF ./
4.运行
java -jar base-web.jar
jar命令参数:
-c 创建新的存档
-f 指定存档文件名
-M 不配置配置清单,这样还可以使用maven生成的配置清单也就是MANIFEST.MF
-0 不进行压缩,如果压缩会有问题
-m 指定清单文件
-t 列出归档目录
-x 从档案中提取指定的 (或所有) 文件
-u 更新现有的归档文件
-v 在标准输出中生成详细输出
打包的jar 替换或修改文件
java 中 jar包的修改文件,一般分两种:
第一种 修改jar包中的文件,用压缩工具打开,直接进行修改或替换就可以了。
第二种 修改或替换 jar包的jar包文件 ,具体步骤如下:
解压第一层目录
把对应的jar包解压出来后
打开需要修改的jar包中的文件,修改文件,此时要选择解压工具的文件项,把要添加的文件该成 不直接压缩直接存储文件。
接着把改好的文件放到第一个jar包即可。
android 怎么修改jar包里面的文件
一、下载jd-gui.exe反编译工具。
二、用jd-gui.exe打开你的第三方jar包,这边以新浪微博sdk(weibo_sdk.jar)为例说明,打开weibo_sdk.jar
三、修改WeiboDialog文件中的内容,如上图一样选中WeiboDialog,然后点击file--》save source--》保存到桌面产生WeiboDialog.java文件
四、用记事本或source Insight 打开进行修改,修改完后保存。
五、新建一个工程,并且新建一个与WeiboDialog文件所在package一致的package,然后把WeiboDialog.java文件拷贝到新建的package中
六、若 WeiboDialog.java 拷贝进去有错误,则先修复错误,然后clean一下工程(工具栏 project --》clean)
七、找到工程所在目录中的bin\classes\....,会生成你修改后的文件的.class文件,复制到你的第三方jar所在目录。
八、用WinRAR打开你的第三方jar,替换jar中相同的该文件,ok完成!
Java中如何修改Jar中的内容
1、直接用压缩包工具打开jar中的class文件进行修改(除非你对指令集很熟悉,反正我是不愿意尝试)
2、使用jd-gui工具直接打开jar,进行修改(这个虽然能看懂代码,但是有一个问题就是如果代码被混淆了,那个难度还不如第一种方法了,所以也没有尝试)