这可能又是一款 Java 程序员的必备插件了,无需解压直接编辑修改 jar 包内文件,神器!(附源码)

embedded/2024/9/22 14:15:56/

作为一名 Java 程序员,在维护一些古老的程序时,可能会遇到这种情况:项目依赖的 jar 包过于久远,已经没有源码了,但是有不得不修改的 bug 要处理。这时候就得想办法反编译 jar 包进行修改,并且重新打包,还是挺麻烦的。

今天就给大家介绍一款新鲜出炉的开源项目——JarEditor。

项目简介

JarEditor 是一款无需解压直接编辑修改 jar 包内文件的 IDEA 插件。他的主要功能如下:

  • 无需解压缩即可直接修改 JAR 文件中的类和资源。

  • 允许在 JAR 包中添加、删除或重命名文件和文件夹。

  • 支持将剪贴板中的文件或文件夹直接粘贴到 JAR 包内。

  • 可以将 JAR 包中的文件或文件夹复制到剪贴板。

项目使用

JarEditor 作为一款 IDEA 插件,自然是可以在 IDEA 的插件市场安装了。直接搜索 JarEditor 即可,如图:

图片

插件安装好后,可以直接打开依赖的 jar 包中反编译的 class 文件,此时可以在下面的标签栏中看到切换到 Jar Editor 的 tab 页,如图:

图片

点击“Jar Editor”标签,我们就可以直接编辑反编译的 class 文件啦。编辑好之后配置好 SDK,点击“save”按钮编译并保存当前修改的 java 内容,之后点击“Build Jar”就可以将编译保存的类文件写入 Jar 包中。

图片

我们也可以在左侧的 jar 包项目视图中,点击右键,在“JarEditor”中进行新建、删除、重命名等操作。

图片

总结

虽然 JarEditor 作为一个开源项目创建了只有三个月的时间,但他确实是一个很好用的插件。建议每一个 Java 程序员都去体验一下哈。

项目地址:https://github.com/Liubsyy/JarEditor

http://www.ppmy.cn/embedded/115076.html

相关文章

【监控】【Nginx】使用 Zabbix 监控 Nginx,并使用 InfluxDB 存储数据的详细指南

目录 1. 安装 Zabbix Server步骤 1:安装 Zabbix 服务器步骤 2:安装 InfluxDB步骤 3:启动 InfluxDB 服务步骤 4:创建 InfluxDB 数据库步骤 5:配置 Zabbix Server步骤 6:启动 Zabbix 服务 2. 安装 Zabbix Age…

Ubuntu系统开发环境搭建

一,Android源码编译环境搭建 1 安装Java Development Kit (JDK) sudo apt-get update sudo apt-get install openjdk-8-jdk 2,确认JDK安装成功 java -version 3,安装编译所需的依赖项 sudo apt-get install git-core gnupg flex bison gperf build-essential zip cu…

量化交易系统开发源码独立搭建

量化交易系统开发涉及多个层面和复杂的组件,包括数据获取、策略设计、交易执行、风险管理等。由于量化交易系统的复杂性和特定性,一个完整的源代码示例可能会非常长并且包含多个模块。不过,我可以为你提供一个简化的Python框架示例&#xff0…

DEPLOT: One-shot visual language reasoning by plot-to-table translation论文阅读

文章链接:https://arxiv.org/abs/2308.01979http://arxiv.org/abs/2212.10505https://arxiv.org/abs/2308.01979 源码链接:https://github.com/cse-ai-lab/RealCQA 启发:two-stage方法可能是未来主要研究方向,能够增强模型可解释…

Java NIO(非阻塞IO)简介

Java NIO(非阻塞IO)是一种用于高效处理大量并发连接的新式IO操作方式。与传统的阻塞IO相比,NIO提供了更高的性能和更好的并发能力。Java NIO主要包括三个核心组件:Buffer、Channel和Selector。下面将详细介绍这些组件及其基本使用…

C++之文件操作

文件分类 文本文件&#xff1a;以 ASCII码 存储 二进制文件&#xff1a;以 二进制 形式存储 操作文件: 1. ofstream&#xff1a;写操作 2. ifstream&#xff1a; 读操作 3. fstream &#xff1a; 读写操作 写文件 1. 包含头文件 #include <fstream> 2. 创建流对象 o…

JVM 调优篇7 调优案例4- 线程溢出

一 线程溢出 1.1 报错信息 每个 Java 线程都需要占用一定的内存空间&#xff0c;当 JVM 向底层操作系统请求创建一个新的 native 线程时&#xff0c;如果没有足够的资源分配就会报此类错误。报错信息&#xff1a;java.lang.outofmemoryError:unable to create new Native Thr…

鸿蒙Harmony应用开发,数据驾驶舱页面的实现

先来看看我们要实现的驾驶舱的页面是什么样的 对于这种 响应式布局的页面构建&#xff0c;我们的脑子里面要有一个概念&#xff0c;就是"分而治之"。我们把这个页面进行分割&#xff0c;分割成不同的块然后再来逐个实现. 不难发现&#xff0c;我们可以将这个看到的效…