Idea引入源码包修改调试

2 篇文章 0 订阅
2 篇文章 0 订阅

写在前面

以下内容为笔者实践而来,并结合自己的推测整理。若有不对或疏漏的请友善交流。本文以commons-pool为例,介绍如何在Idea中进行源码修改调试。

第一种方式

原理

  • 将源码以module的形式引入,idea中识别module高于仓库jar,但module引入只限于同级。
    • 优点:修改后运行即可查看
    • 缺点:module有层级限制,且有可能未运行module中的源码包。

步骤

  1. GitHub上找寻源代码,[commons-pool][https://github.com/apache/commons-pool.git];Idea->New project from version controll

    • 若未识别maven项目,手动add framework support。已识别则忽略此步骤。
  2. 打开引用了commons-pool依赖的项目,操作File->New module from existing resource。将源码包以module形式引入。

    • 注意:保持引入的module在idea中的显示为同级别module;若存在父子module引用,如下图,你需要保证引入的module也在同一级;否则可能仍不是以源码包运行。
      在这里插入图片描述

    • 笔者试验当前idea只能引入到与父级同级别,尝试将子module作为单独项目打开引入并运行,如下图,若子module无需依赖其他module,可以运行,但有其他子module依赖,容易报错。若项目只依赖第三方包,可尝试此方法。
      在这里插入图片描述

  3. 验证

    • 引入以后,右边菜单栏->reimporty依赖->找到引用了依赖包处,点击,查看是否跳转到引入的源码中;需要注意的是,此处验证即使能跳转,也有可能还是使用了原先的依赖包中,具体以运行时,断点是否能进入引入的源码包中为准;

第二种方式

原理

  • 利用同组织版本包会对覆盖相同包,本地修改编译覆盖。
    • 优点:保证运行的即为修改的代码,一般不会有什么奇怪错误产生。
    • 缺点,需重新clean install。

步骤

  1. 拉取源码
  2. 本地maven clean install
  3. 项目中restart即可
  • 验证:可以从本地仓库中解压对应jar包查看
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值