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!!!
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
springboot查看和修改內置tomcat版本的方法步驟
本文主要介紹了springboot查看和修改內置tomcat版本的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2024-07-07
解決@JsonInclude(JsonInclude.Include.NON_NULL)不起作用問題
這篇文章主要介紹了解決@JsonInclude(JsonInclude.Include.NON_NULL)不起作用問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-06-06

