zoukankan      html  css  js  c++  java
  • 操作实践:maven工程查找工程中多余的jar包

    声明:迁移自本人CSDN博客https://blog.csdn.net/u013365635

    版本迭代过程中对jar的依赖可能会产生变化,一些本不必再依赖的jar包可以因为没有清除而依然留在版本的发布包中,这些多余的jar包一方面使得版本包变大,另一方对这些jar包的加载延长了系统启动时间,消耗了更多的虚拟机内存。所以清理这些无用的jar包是非常必要的。
    使用 mvn dependency:analyze可以识别出的未使用的依赖项。清理完后建议实际运行,就可以找出来了哪些jar包确实不依赖的。因为在实际的开发中,比如java后端开发,很多依赖在代码中没有直接体现,但是在web.xml等中配置的类依赖该jar。
    这里举个例子说明下依赖处理问题。
    注:pom.xml没有配置打包成jar包所需的build信息。

    package com.test.testdependency;
    
    import org.apache.commons.lang3.StringUtils;
    
    public class MoveRedundantDependency {
        public boolean test(String str)
        {
            return StringUtils.isEmpty(str);
        }
    
        public void main(String[] args) {
            System.out.println(test("test"));
        }
    }
    

    pom.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
        <groupId>com.test</groupId>
        <artifactId>testdependency</artifactId>
        <version>1.0-SNAPSHOT</version>
        <packaging>jar</packaging>
    
        <dependencies>
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>3.7</version>
            </dependency>
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
                <version>1.2.46</version>
            </dependency>
        </dependencies>
    </project>
    

    执行mvn dependency:analyze,运行结果如下。

    [INFO] --- maven-dependency-plugin:2.8:analyze (default-cli) @ testdependency ---
    [WARNING] Unused declared dependencies found:
    [WARNING]    com.alibaba:fastjson:jar:1.2.46:compile
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    

    如上,命令执行后发现了无关的依赖项com.alibaba:fastjson:jar,符合代码中的实际情况。

  • 相关阅读:
    SQL Server 存储过程
    Ajax从服务器端获取数据
    Ajax中Get请求与Post请求的区别
    get请求
    Post请求
    递归案例
    SQL SERVER 和ACCESS的数据导入导出
    OA
    OBS桌面视频直播软件/推流工具使用指南
    基于EasyIPCamera实现的数字网络摄像机IPCamera的模拟器IPC RTSP Simulator
  • 原文地址:https://www.cnblogs.com/xsl-thumb-rfcs/p/9941593.html
Copyright © 2011-2022 走看看