idea 反编译jar包然后导入项目
背景介绍
项目的源文件没有了,在服务器只有一个可运行的jar文件,所以需要对jar文件进行反编译然后导入项目中进行二次开发
反编译jar包
通过idea的插件:** Java Bytecode Decompiler**反编译jar包。
在 Idea 中,打开 File -> Settings,找到 Plugin ,在右侧搜索框中输入 Java Bytecode Decompiler ,找到后安装
接下来我们需要到idea的安装目录中找到这个插件位置(实际这个插件也是一个jar包),记住这个插件的路径
找到我们需要反编译的jar包文件,在其目录新建一个空的文件
在该目录打开cmd,输入一下命令
java -cp "E:\IntelliJ IDEA 2021.3.3\plugins\java-decompiler\lib\java-decompiler.jar" org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler -dgs=true test.jar mytest
1. 其中E:\IntelliJ IDEA 2021.3.3\plugins\java-decompiler\lib\java-decompiler.jar是idea插件的文件路径(记得带上文件名称)
2. test.jart就是待反编译的jar文件名称
3. mytest就是你反编译过后的文件需要存放的目录
记得替换上自己文件路径
然后回车
就可以看到我们的mytest文件中就有了一个test.jar的文件
然后解压缩就可以得到一个.java的文件了
在idea导入该项目
我们的java文件都是存放在boot-info》classes中
我这里是一个比较笨的办法,不过感觉还是挺好的用的。在project structure中选择新建立一个module
最终一个空的module就创建好了在这里插入图片描述
然后将我们刚刚反编译的文件复制到该module中
具体情况根据自己的项目结构来
接下来就是pom.xml文件了
(我这里是打开pom.xml然后)
我是将反编译得到的pom中的依赖赋值过来的,这样可以避免因为module名称不一样等造成的问题具体如下
最后就等待依赖下载就好了,如果没有自动下载可以参照来来进行手动刷新
然后就可以启动项目了。。。。。。。。。。。。
但是遇到一个错误,不过问题不大
这个问题呢是因为原先的jar使用了lombok插件的@data注解造成的,反编译过来会有一点问题,不过我们只需要将这个hashcode方法删除掉就没有问题了(所有使用@data注解的都会有这个问题,所以每一个都需要删除掉),其实不止hashcode方法是lombok的@data注解生成的,一下都是(还包括构造以及get,set方法)
删除完毕之后就能够正常启动了!!!!!!!
完美解决
每次记录一个小问题🙂。
2024的第二篇博客