IDEA JarEditor编辑jar包方式(直接新增,修改,删除jar包内的class文件)
之前我们需要修改jar内文件的时候需要解压jar包,反编译class,新建java源文件,修改代码,再编译成class,替换jar包内的class文件。
现在利用IDEA的修改jar插件JarEditor可以直接修改class文件,一气呵成。
https://plugins.jetbrains.com/plugin/24397-jareditor
1. 安装插件 JarEditor
File -> Settings -> Plugins

2. 在IDEA中添加外部JAR包

如果jar包在idea的External Libraries中不存在,外部文件可以通过File->Project Structure->Libraries添加。

3. JarEditor 使用介绍
在具体jar的目录下右键,可以做如下操作:

下面做一些演示。
- 在jar内新增文件

package org.apache.commons.lang3;
public class XinliushijianTest {
public static String SMILE = "HAHAHA!!!";
public XinliushijianTest() {
}
public static String xinliushijianTest() {
return "xinliushijian";
}
}- 在jar包内修改文件

- 让新增、修改的文件生效

如上图,从左到右依次点击。
- 1. 切换到Jar Editor tab页
- 2. 选择JDK版本
- 3. 编译修改的java内容,并保存
- 4. 将修改的class内容重新打包进jar包
Save/Compile会将修改的文件保存到jar包所在目录的jar_edit子目录下,Build Jar会把会jar_edit目录的文件增量写入jar,最后再删除这个目录
- 测试新增、修改的文件是否可以使用
import org.apache.commons.lang3.RandomUtils;
import org.apache.commons.lang3.XinliushijianTest;
public class StringDemo11 {
public static void main(String[] args) {
String result = XinliushijianTest.xinliushijianTest();
System.out.println("result: " + result);
String result1 = RandomUtils.xinliushijianTest();
System.out.println("result1: " + result1);
System.out.println(XinliushijianTest.SMILE);
}
}- 打印
result: xinliushijian
result1: 心流时间
HAHAHA!!!
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
一文搞懂Mybatis中Mapper配置文件获取参数的五种方式
这篇文章主要介绍了Mybatis中Mapper配置文件获取参数的五种方式,文中通过代码示例讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下2024-03-03
mybatis如何使用xml中的if-else/choose
最近需要使用xml文件来实现一些增删改查,此文对其中的if-else 加以说明,使用 xml 怎么来使用和接收呢,下面小编给大家讲解mybatis如何使用xml中的if-else/choose,感兴趣的朋友一起看看吧2024-04-04


最新评论