zoukankan      html  css  js  c++  java
  • Intellij IDEA 中如何查看maven项目中所有jar包的依赖关系图

    Maven 组件界面介绍

    • 如上图标注 1 所示,为常用的 Maven 工具栏,其中最常用的有:

      • 第一个按钮:Reimport All Maven Projects 表示根据 pom.xml 重新载入项目。一般单我们在 pom.xml 添加了依赖包或是插件的时候,发现标注 4 的依赖区中没有看到最新写的依赖的话,可以尝试点击此按钮进行项目的重新载入。
      • 第六个按钮:Execute Maven Goal 弹出可执行的 Maven 命令的输入框。有些情况下我们需要通过书写某些执行命令来构建项目,就可以通过此按钮。
      • 第九个按钮:Show Dependencies 显示项目依赖的结构图,可以方便我们直观项目的依赖包情况。这个功能有些具体的操作下面会专门进行讲解。
    • 如上图标注 2 所示,常用的 Maven 生命周期的命令,通过双击对应的命令来执行项目编译、打包、部署等操作。

    • 如上图标注 3 所示,为我们在 pom.xml 中配置的插件列表,方便调用插件。

    • 如上图标注 4 所示,为我们在 pom.xml 中配置的依赖包列表。

    • 如上图标注 5 所示,为常见的 Java Web 在 Maven 下的一个项目结构。

    大致了解过后,看怎么查看所有jar包的依赖关系。

    点完之后就会有下图

    可以看到,这个maven项目的所有jar包依赖关系,一览无余。

    为什么我的这个jar包依赖这么少呢,因为我这个项目只是简单示范了一下springmvc框架的使用。所以,也没有引入过多的jar包,要是在一个大一点的项目里面,你使用定时任务了,使用poi了使用等等一些其他工具类的包,那么就会很多了。

    这地方有个小技巧,也许有的人不知道呢,就是这有放大镜功能。不是简单的点上面给的图标,放大,那个放大也不方便不是?

    Windows电脑可以按alt键,页面上就会出现个大的圆圈,也就是传说中的放大镜了,这么一来就可以看的方便一点了。

    具体看图:

    依赖包冲突

    图中的红色实线就算是冲突的,可以入上图那样,右键,排除,他就自动在pom文件里面给exclud啦。

    还有一种是虚线的红线。

    这种虚线,告诉你同一个jar都在哪里被多次引用了。

    上面的都是理论姿势,那么实际中怎么使用呢?

    比如下面的这个pom.xml里面有这么2个dependency的引入。

    [html] view plain copy
     
    1. <dependency>  
    2.     <groupId>org.springframework</groupId>  
    3.     <artifactId>spring-webmvc</artifactId>  
    4.     <version>${org.springframework-version}</version>  
    5. </dependency>  
    6. <dependency>  
    7.     <groupId>org.springframework</groupId>  
    8.     <artifactId>spring-web</artifactId>  
    9.     <version>${org.springframework-version}</version>  
    10. </dependency>  

    可以看到,如果你不是很了解spring相关的包依赖的话,你就不知道你上面的引入,其实只需要引入一个依赖就可以了。如下:

    [html] view plain copy
     
    1. <dependency>  
    2.     <groupId>org.springframework</groupId>  
    3.     <artifactId>spring-webmvc</artifactId>  
    4.     <version>${org.springframework-version}</version>  
    5. </dependency>  

    因为,从上面的第一个依赖关系图可以看出来,spring-webmvc是依赖于spring-web的,所以,他是会自动的去添加这个jar包的。

    额,其实,就算知道了,也不一定会去改,你也看到了,我们项目里面那么多红线,但是项目依然可以健康的跑起来。基本上算是尾大不掉的局面啦。这个要是一开始就注意这个问题的话,那么项目看起来还是比较 整洁的。

    最后,湿胸我说的这么详细,各位观众,有钱的捧个钱场,没钱的捧个人场。点个赞,留个言啥的,好不好呀。

    参考链接:http://blog.csdn.net/qq_27093465/article/details/69226949

  • 相关阅读:
    批量修改数据库表前缀
    form表单reset重置按钮
    thinkphp禁止模版标签解析
    form 转json,将form表单中的数据序列化数组后转换为Json
    MIME对应表
    zend studio 12汉化和破解
    hadoop一键安装伪分布式
    简明shell入门
    java中readLine()方法为什么有的行读不到?
    using 40 logical processors based on SQL Server licensing SqlServer CPU核心数限制问题
  • 原文地址:https://www.cnblogs.com/xiohao/p/7016730.html
Copyright © 2011-2022 走看看