返回顶部
首页 > 资讯 > 精选 >IDEA中Gradle如何删除多余无用依赖
  • 509
分享到

IDEA中Gradle如何删除多余无用依赖

2023-06-29 18:06:29 509人浏览 独家记忆
摘要

小编给大家分享一下idea中Gradle如何删除多余无用依赖,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!简介项目中经过很久开发,会有很多当初引入后来又不再使用的依赖,靠肉眼很难分辨删除。这时候,我们可以使用分析无用依赖插

小编给大家分享一下idea中Gradle如何删除多余无用依赖,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

    简介

    项目中经过很久开发,会有很多当初引入后来又不再使用的依赖,靠肉眼很难分辨删除。

    这时候,我们可以使用分析无用依赖插件进行处理:gradle-lint-plugin

    如何使用

    注意: 他可能存在删除错误的引用依赖,需要删除后进行检查和测试

    并且,这里仅支持单模块项目,如果是多模块项目请参考官方文档进行处理

    官方文档地址: https://GitHub.com/nebula-plugins/gradle-lint-plugin/wiki

    1.引入插件

    在项目的 build.gradle 中引用该插件, 最新版本号可以 点击这里查看:

    plugins {  id 'nebula.lint' version '17.7.0'}

    如何你项目中本身已经有插件,则可以在后面追加,例如我的:

    plugins {    id 'org.springframework.boot' version '2.3.5.RELEASE'    id 'io.spring.dependency-management' version '1.0.10.RELEASE'    id 'java'    id 'nebula.lint' version '17.7.0'}

    2.应用插件

    build.gradle 应用 该插件,并在任意位置,配置检测规则:

    apply plugin :"nebula.lint"gradleLint.rules=['unused-dependency']

    3.使用 Gradle 进行重新载入项目

    IDEA 使用 Gradle 进行重新载入项目,则会出现 Lint 菜单, 如下图所示:

    IDEA中Gradle如何删除多余无用依赖

    4.生成报告

    点击 lint -> generateGradleLintReport, 可以生成报告。

    报告仅保留不同类型的省略结果,可以看到有以下四种报告结果:

    • one or more classes are required by your code directly (no auto-fix available)

    • this dependency is unused and can be removed

    • this dependency should be removed since its artifact is empty (no auto-fix available)

    • this dependency is a service provider unused at compileClasspath time and can be moved to the runtimeOnly configuration (no auto-fix available)

    其中, this dependency is unused and can be removed 表示可以删除的依赖。

    Executing 'generateGradleLintReport'...
    > Task :generateGradleLintReport
    Generated a report containing infORMation about 83 lint violations in this project
    > Task :autoLintGradle
    This project contains lint violations. A complete listing of the violations follows. 
    Because none were serious, the build's overall status was unaffected.
    warning   unused-dependency                  one or more classes in org.mockito:mockito-core:3.3.3 are required by your code directly (no auto-fix available)
    warning   unused-dependency                  this dependency should be removed since its artifact is empty (no auto-fix available)
    build.gradle:59
    implementation 'org.springframework.boot:spring-boot-starter-actuator'
    warning   unused-dependency                  this dependency is a service provider unused at compileClasspath time and can be moved to the runtimeOnly configuration (no auto-fix available)
    build.gradle:69
    compileOnly 'org.projectlombok:lombok'
    warning   unused-dependency                  this dependency is unused and can be removed
    build.gradle:101
    compile group: 'ch.qos.logback', name: 'logback-core', version: '1.2.3'
    ✖ 83 problems (0 errors, 83 warnings)
    To apply fixes automatically, run fixGradleLint, review, and commit the changes.

    5. 删除无用依赖

    我们可以看到报告的最后一句话,

    To apply fixes automatically, run fixGradleLint, review, and commit the changes.

    最后,可以执行 fixGradleLint 自动删除无用依赖。

    IDEA中Gradle如何删除多余无用依赖

    修复报告如下,我们可以看到除了无用的依赖,还有一些其他的依赖也被删除了,原因是因为,他认为我们可以直接引入其对应的依赖而不是整个依赖包。

    例如,compile group: 'com.baomidou', name: 'mybatis-plus-boot-starter', version: '3.3.1' 中我们只用了整个 starter 包的一部分依赖,可以仅依赖这一部分依赖,而不是整个 starter 包。这个也可以不按照他的推荐,直接手动选择保留。

    Executing 'fixGradleLint'...
    > Task :compileJava
    > Task :processResources UP-TO-DATE
    > Task :classes
    > Task :compileTestJava
    > Task :fixGradleLint
    This project contains lint violations. A complete listing of my attempt to fix them follows. Please review and commit the changes.
    needs fixing   unused-dependency                  one or more classes in com.baomidou:mybatis-plus-core:3.3.1 are required by your code directly
    fixed          unused-dependency                  this dependency is unused and can be removed
    build.gradle:105
    compile 'org.ehcache:ehcache'
    build.gradle:106
    compile 'javax.cache:cache-api'
    build.gradle:107
    compile 'org.mybatis:mybatis-typehandlers-jsr310:1.0.2'
    build.gradle:112
    testImplementation 'org.springframework.security:spring-security-test'
    Corrected 17 lint problems

    特殊情况

    Lombok

    Lombok 是一个编译时自动生成 Getter/Setter 和构造器的工具

    Nebula Lint 依旧会检测无用的依赖,日志如下:

    > Task :lintGradle FAILED
    This project contains lint violations. A complete listing of the violations follows. 
    Because none were serious, the build's overall status was unaffected.
    warning   unused-dependency                  this dependency is a service provider unused at compile time and can be moved to the runtime configuration

    处理方式(修改版本号):

    gradleLint.ignore('unused-dependency') {compileOnly group: 'org.projectlombok', name: 'lombok', version:'1.16.20'}

    看完了这篇文章,相信你对“IDEA中Gradle如何删除多余无用依赖”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网精选频道,感谢各位的阅读!

    --结束END--

    本文标题: IDEA中Gradle如何删除多余无用依赖

    本文链接: https://lsjlt.com/news/326100.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    猜你喜欢
    • IDEA中Gradle如何删除多余无用依赖
      小编给大家分享一下IDEA中Gradle如何删除多余无用依赖,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!简介项目中经过很久开发,会有很多当初引入后来又不再使用的依赖,靠肉眼很难分辨删除。这时候,我们可以使用分析无用依赖插...
      99+
      2023-06-29
    • IDEA 下 Gradle 删除多余无用依赖的处理方法
      目录简介如何使用1.引入插件2.应用插件3.使用 Gradle 进行重新载入项目4.生成报告5. 删除无用依赖特殊情况Lombok总结简介 项目中经过很久开发,会有很多当初引入后来又...
      99+
      2024-04-02
    • idea如何查找maven依赖、查看依赖关系、删除重复的jar包
      一 先装一个管理pom依赖的插件 File–>Settings–>Plugins–>搜索maven–>找到Maven Helper安装–>重启idea 打开pom.xml剔除重复的包 1 选择Dep...
      99+
      2023-09-30
      intellij-idea jar java
    • 如何在android中使用Gradle添加依赖
      这期内容当中小编将会给大家带来有关如何在android中使用Gradle添加依赖,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。AndroidStudio使用Gradle构建添加依赖compile '...
      99+
      2023-05-31
      recyclerview android gr
    • windows中overture如何删除多余小节
      本文小编为大家详细介绍“windows中overture如何删除多余小节”,内容详细,步骤清晰,细节处理妥当,希望这篇“windows中overture如何删除多余小节”文章能帮助大家解决疑惑,下面跟着小编...
      99+
      2022-12-15
      windows overture
    • Androd Gradle模块依赖替换如何使用
      本篇内容介绍了“Androd Gradle模块依赖替换如何使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!背景我们在多模块项目开...
      99+
      2023-07-02
    • 如何在IDEA中自定义pom依赖
      今天就跟大家聊聊有关如何在IDEA中自定义pom依赖,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。IDEA自定义pom依赖抽离公共代码,代码解耦,减少重复 抽离公共部分的代码 点击右...
      99+
      2023-06-14
    • windows中zbrush如何删除多余的模型
      本文小编为大家详细介绍“windows中zbrush如何删除多余的模型”,内容详细,步骤清晰,细节处理妥当,希望这篇“windows中zbrush如何删除多余的模型”文章能帮助大家解决疑惑,下面跟着小编的思...
      99+
      2022-12-03
      windows zbrush
    • 使用Gradle打依赖包失败如何解决
      这篇文章主要介绍“使用Gradle打依赖包失败如何解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“使用Gradle打依赖包失败如何解决”文章能帮助大家解决问题。使用Gradle打依赖包失败以前在使...
      99+
      2023-07-06
    • win10如何删除多余的账户
      要删除Windows 10中的多余账户,您可以按照以下步骤进行操作:1. 打开"设置":点击"开始"菜单,然后点击齿轮形状的"设置"...
      99+
      2023-08-22
      win10
    • 电脑如何删除多余的账户
      本篇内容介绍了“电脑如何删除多余的账户”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!电脑删除多余账户方法/步骤:在键盘上按下win+X调出快...
      99+
      2023-06-27
    • mac如何删除多余的系统引导
      要删除多余的系统引导,您可以按照以下步骤进行操作:1. 在Mac上打开“应用程序”文件夹,然后找到“实用工具”文件夹,并打开其中的“...
      99+
      2023-09-08
      mac
    • win10如何删除多余的启动选项
      要删除多余的启动选项,您可以按照以下步骤操作:1. 打开“控制面板”。2. 在“控制面板”中,选择“系统和安全”。3. 在“系统和安...
      99+
      2023-10-18
      win10
    • Win10系统怎么删除多余无用的无线网络连接
        有已经使用上Win10系统的朋友询问,在Win10系统上怎么删掉多余无用的无线网络连接呢这个估计是强迫症患者的需求吧,不管怎样,我们来看看如何操作。   操作方法   第一步、点击桌面任务栏通知区域上面的无线网络图标...
      99+
      2023-06-10
      Win10 无线 网络连接 无线网络 系统
    • 如何删除多余的Windows Vista启动菜单
      问:我安装过两次Windo,其中一个已经废弃,可能是没删除干净,每次开机进入系统前都会出现两个Vista启动菜单。请问如何删除多余的那个Vista菜单项   答:我们可以通过Windows Vista系统内置的bcded...
      99+
      2023-05-23
      菜单 Windows Vista
    • 如何删除Kali Linux多余的系统架构
      这篇文章主要介绍了如何删除Kali Linux多余的系统架构,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。删除Kali Linux多余的系统架构现在大家通常安装的都是Kali...
      99+
      2023-06-04
    • idea中pom文件引入依赖报错如何解决
      当pom文件引入依赖报错时,可以尝试以下解决方法:1. 检查依赖版本:确保所引入的依赖版本与项目所使用的版本兼容。可以尝试更新依赖版...
      99+
      2023-08-25
      idea
    • windows如何删除右键菜单里的多余选项
      本文小编为大家详细介绍“windows如何删除右键菜单里的多余选项”,内容详细,步骤清晰,细节处理妥当,希望这篇“windows如何删除右键菜单里的多余选项”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。右键菜单里...
      99+
      2023-07-01
    • Angular中的多级依赖注入如何设计
      本篇内容介绍了“Angular中的多级依赖注入如何设计”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!多级依...
      99+
      2024-04-02
    • Angular中如何使用依赖注入
      这篇文章主要介绍了Angular中如何使用依赖注入,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。useFactory、useClass、us...
      99+
      2024-04-02
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作