修改jar包bug的方式】的更多相关文章

第一种方式 1. 直接在项目同样的包名里面新建同样的class,会优先jar包的class加载,等同于覆盖. 第二种方式 2. 拿到第一步打包后的jar或者war,找到相应的java类的.class文件,覆盖想修改的jar包的class文件,以后直接引入jar,就不用第一步的重写了.…
一.前言 相信很多同学有这样的需求,现在很多公司都有多地的研发中心,经常需要跨地区部署,比如,博主人在成都,但是服务器是北京的.一般城市间网络都不怎么好,上传一个几十兆的jar包那是真的慢,别说现在微服务架构下,动辄两位数的fat jar.这里说的jar,就是spring boot项目打出来的fat jar类型,一般也有个几十兆吧. 博主之前还遇到部署北美亚马逊环境,好不容易传个包过去,后来发现有bug,需要改class,如果重新打包再传,真的要死的心都有了. 如果要改什么配置,或者发现某个cl…
有时需要修改很多jar(假设这些jar都位于lib目录)中其中一个jar中的某一个类,而且又没有原始代码或ide,这时最简单的方式是: 1 进入lib目录 # cd lib # ls test.jar dependency1.jar dependency2.jar 2 查看待修改jar包内类结构 $ unzip -l test.jar or $ vim test.jar 3 解压待修改jar包 $ mkdir test_dir $ unzip test.jar -d test_dir 4 查看c…
需求背景:写了一个实时读取日志文件以及监控的小程序,打包成了Jar包可执行文件,通过我们的web主系统上传到各个服务器,然后调用ssh命令执行.每次上传前都要通过解压缩软件修改或者替换里面的配置文件,这样感觉有点麻烦,就想办法能不能通过程序动态生成配置文件,然后修改或者替换掉Jar包里的配置文件,最后再上传到各个服务器去执行. 实现历程:刚开始看了大量文章,整理出来了一个操作Jar包的工具类,用工具类里面的方法去修改一个30M左右的Jar包文件时,发现耗时竟然要7秒,而且修改Jar文件的方法确实…
需求背景:写了一个实时读取日志文件以及监控的小程序,打包成了Jar包可执行文件,通过我们的web主系统上传到各个服务器,然后调用ssh命令执行.每次上传前都要通过解压缩软件修改或者替换里面的配置文件,这样感觉有点麻烦,就想办法能不能通过程序动态生成配置文件,然后修改或者替换掉Jar包里的配置文件,最后再上传到各个服务器去执行. 实现历程:刚开始看了大量文章,整理出来了一个操作Jar包的工具类,用工具类里面的方法去修改一个30M左右的Jar包文件时,发现耗时竟然要7秒,而且修改Jar文件的方法确实…
修改jar包配置文件的正确操作,有的时候通过一些解压工具可以对内部的文件进行修改,但是有时候会无效.这就很烦了 一.背景:       有一个springboot项目,事先我已经用编译好打成jar包以及一堆lib包出来了,这个项目需要部署在多个地方,每个地方就要修改配置文件application.properties中的参数,需要别人不依赖编程工具修改并打包.那么在不用考虑安全性的前提下,为了让别人可以方便修改参数,于是我参考了网上的经验和Java在dos中的语句,实现将jar包解压成文件夹修改…
修改 jar 包 或 war 包内容 有一个 java web 项目,是 .jar 或 .war 文件,我想替换其中的部分样式(.css)或功能(.class). 步骤就是解压,替换,重新打包. 以 sample-web.war 为例 /usr/local/workspace/sample-web.war 解压缩至 sample-web 目录 unzip sample-web.war -d ./sample-web 在解压目录替换 .css 文件或 .class 文件 重新打包 jar -cvf…
一.背景 最新想要修改rebeyond大佬的冰蝎项目,特地去网上搜索如何修改jar包中的源码再替换回去的方法,但由于现在的一些文章写的太烂,导致走了很多弯路,因此写下这篇快速使用IDEA修改源码并替换class文件再打成jar包的文章. 二.具体步骤 1.下载冰蝎项目jar包,放入D盘目录下: 2.使用IDEA新建一个maven项目,这里就叫test_123: 3.打开File -> Project Structure: 在Libraries中加入刚刚下载的jar包: 加载完如下,点击Apply…
某日,想要更改jar包中的某个class文件,有无rar无法解压jar文件,故找到如下方式进行操作 1.解压某个jar包:在需要解压的jar包目录下,打开命令行(cmd),输入如下命令,输入:C:\jar>jar xf lm.jar 没有任何反应就表示解压成功. 2.反编译class文件,相同路径新建java文件,修改所需代码,重新编译成class文件. 3.压缩jar包:命令:jar cvf lm.jar 文件1 文件2 文件3 文件4    文件夹5/*      回车      压缩后的j…
Maven可以使用mvn package指令对项目进行打包,如果使用Java -jar xxx.jar执行运行jar文件,会出现"no main manifest attribute, in xxx.jar"(没有设置Main-Class).ClassNotFoundException(找不到依赖包)等错误. 要想jar包能直接通过java -jar xxx.jar运行,需要满足: 1.在jar包中的META-INF/MANIFEST.MF中指定Main-Class,这样才能确定程序的…