欢迎光临
我们一直在努力

Gradle如何找出一个jar包是出自哪个依赖

Gradle如何找出一个jar包是出自哪个依赖

在使用java开发中,进来常常需要使用gradle来组织项目,如果项目依赖太多,有的时候难免会有冲突,静态的冲突(比如类名冲突、方法名冲突等)这些还好解决,因为编译期间就不过;麻烦的是那些动态的冲突(比如依赖的类有,但是依赖方是通过反射来调用被依赖方的)。

今天就遇到一个不同模块引入了不同的netty依赖,报错


1
noSuchMethod io.netty.util.internal.MathUtil.safeFindNextPositivePowerOfTwo

遇到这种的话,最简单的解决方法就是打印出整个项目的依赖树来排查。gradle打印依赖树的方法 是使用project-report插件,

  • 首先在build.gradle中添加插件
    1
    apply plugin: 'project-report'
  • 然后update项目 再运行
    1
    ./gradlew htmlDependencyReport
  • 生成report完毕,通常位于项目的
    1
    build/reports/

    目录中

打开报告的html,一层一层点进去就可以找到dependency tree。

【本站文章皆为原创,未经允许不得转载】:汤不热吧 » Gradle如何找出一个jar包是出自哪个依赖
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址