将Maven工程中的没用到的依赖包删除,一个比较笨,但是可靠性高的方法


文章目录

  • 前言
  • 一、核心方法是`exclusion`去除包
  • 二、使用步骤
  • 1.如果你很了解哪些依赖不需要
  • 2.如果你不知道哪些依赖包不用
  • 总结



前言


背景:有一个Maven工程,为了将其依赖包导出做了设置, 但是,Maven工程依赖导出的时候不去检查依赖包有没有用到,将其所有关联的依赖都导出了,导致依赖包一大堆,影响工程的部署


提示:以下是本篇文章正文内容,下面案例可供参考

一、核心方法是exclusion去除包

dependency中添加exclusion属性,将不需要的依赖包删除

示例:添加exclusion属性,将aws-lambda-java-events的一个依赖包joda-time去除

<dependency>
    <groupId>com.amazonaws</groupId>
    <artifactId>aws-lambda-java-events</artifactId>
    <version>3.9.0</version>
    <exclusions>
        <exclusion>
            <artifactId>joda-time</artifactId>
            <groupId>joda-time</groupId>
        </exclusion>
    </exclusions>
</dependency>

二、使用步骤

1.如果你很了解哪些依赖不需要

  1. 点击Mavenshow dependencies

maven去除mysql依赖 删除maven依赖_maven

  1. 选择需要删除的依赖包,单击右键选择Exclude

maven去除mysql依赖 删除maven依赖_maven_02

  1. dependencyexclusion属性已经添加

maven去除mysql依赖 删除maven依赖_maven去除mysql依赖_03

  1. 应用Maven更改

maven去除mysql依赖 删除maven依赖_intellij idea_04

  1. 依赖正常删除,不用自己去写属性,让Maven自己生成属性

2.如果你不知道哪些依赖包不用

  1. 随便找到一个依赖包

maven去除mysql依赖 删除maven依赖_maven去除mysql依赖_05

  1. 选择中org.joda.time,单击右键,选择Find Usages

maven去除mysql依赖 删除maven依赖_maven_06

  1. 从查找结果中判断是否使用了依赖包
  • 下面是没有使用的结果

maven去除mysql依赖 删除maven依赖_intellij idea_07

  • 下面是使用过的结果(最起码你导入过包),更细节点击去看,不做赘述

maven去除mysql依赖 删除maven依赖_maven_08

  1. 如果没有使用过包,这时候你知道了这个包需要删除,则
  • 点击Mavenshow dependencies

maven去除mysql依赖 删除maven依赖_maven

  • 选择需要删除的依赖包,单击右键选择Exclude

maven去除mysql依赖 删除maven依赖_maven_02

  • dependencyexclusion属性已经添加

maven去除mysql依赖 删除maven依赖_maven去除mysql依赖_03

  • 应用Maven更改

maven去除mysql依赖 删除maven依赖_intellij idea_04

  • 依赖正常删除,不用自己去写属性,让Maven自己生成属性

总结



  1. 核心是使用Mavenexclusion属性,实现依赖包的删除
  2. 方法比较笨,一步一步来,但是胜在可靠,不容易出错