idea 反编译jar包然后导入Spring Boot/Spring Cloud项目

背景介绍

项目的源文件没有了,在服务器只有一个可运行的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的第二篇博客

### 使用 JDK 17 在 IntelliJ IDEA 中创建新的 Spring Boot 项目 #### 配置开发环境 为了确保能够顺利使用JDK 17来创建Spring Boot项目,在开始前需确认已安装IntelliJ IDEA、JDK 17以及Maven或Gradle作为构建工具[^1]。 #### 设置IDEA中的JDK版本 进入`File | Project Structure...`,选择`Project`选项卡,点击右侧的`New...`按钮添加本地安装路径下的JDK 17,并将其设置为项目的默认SDK。这一步骤至关重要,因为只有当IDE识别到了正确的JDK版本之后才能正常编译和运行基于此版本的应用程序[^4]。 #### 启动Spring Initializr向导 通过菜单栏里的`File | New | Project...`找到并选中`Spring Initializr`项,此时应该能看到界面上方有一个下拉列表用于指定服务端点地址,默认情况下指向的是官方提供的在线资源;如果网络条件允许的话建议保持不变以便获取最新的依赖库信息[^2]。 #### 定义项目元数据 按照提示依次填写Group(通常对应于反向域名), Artifact ID (即模块名称),Version, Packaging形式(Jar/War) 和 Java Version处务必设定成17以匹配前面所配置好的环境变量[^3]。 #### 添加所需起步依赖 勾选出希望集成进来的功能组件比如Web MVC/Flux Restful API支持等,这些预定义模板可以帮助开发者更加快捷高效地搭建起微服务体系结构框架。 #### 导入工程至IDE 完成上述操作后点击`Next -> Finish`等待片刻直至整个过程结束,随后自动跳转回编辑器界面内显示新建立起来的工作空间。这时应当再次核查pom.xml文件里声明的语言级别是否正确无误,同时也要留意是否存在任何潜在冲突或者警告信息提醒修改某些地方使之更加兼容当前选用的基础镜像版本。 ```xml <properties> <java.version>17</java.version> </properties> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值