问题

十年以前写java项目总会干这么一个事情: 调包。 java项目往往依赖了很多第三方jar包,而这些jar包又有他自己依赖的第三方jar包,从而就能形成一个依赖树。 而程序运行要把这些所有的依赖都加载到内存中的, 如果有一个第三方jar包被依赖了两次或两次以上, 而且版本还不一样,就会依赖冲突,此时就需要调包, 调包就是调整依赖包。 调包其实是一个很繁琐和头疼的事情。

然后maven出现了,我第一次接触maven就让他的依赖管理吸引了,这让程序员从调包这种苦力活中解脱出来了。虽然maven的依赖管理功能降低了我们的调包成本,但是发生依赖冲突时,还是需要人工参与的。这时我们就需要知道项目对第三方jar包的依赖情况。

解决

maven提供了一个命令mvn dependency:tree可以直接打印出依赖树。

[INFO] com.qyf404:test-spring-boot:jar:1.0.0
[INFO] +- org.springframework.boot:spring-boot-starter:jar:1.5.4.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot:jar:1.5.4.RELEASE:compile
[INFO] | | \- org.springframework:spring-context:jar:4.3.9.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-autoconfigure:jar:1.5.4.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-starter-logging:jar:1.5.4.RELEASE:compile
[INFO] | | +- ch.qos.logback:logback-classic:jar:1.1.11:compile
[INFO] | | | \- ch.qos.logback:logback-core:jar:1.1.11:compile
[INFO] | | +- org.slf4j:jcl-over-slf4j:jar:1.7.25:compile
[INFO] | | +- org.slf4j:jul-to-slf4j:jar:1.7.25:compile
[INFO] | | \- org.slf4j:log4j-over-slf4j:jar:1.7.25:compile
[INFO] | +- org.springframework:spring-core:jar:4.3.9.RELEASE:compile
[INFO] | \- org.yaml:snakeyaml:jar:1.17:runtime

日期:2018-09-13 作者:辵鵵

如何查看Maven项目的jar包依赖的更多相关文章

  1. 一篇关于Maven项目的jar包Shell启动脚本

    使用Maven作为项目jar包依赖的管理,常常会遇到命令行启动,笔者也是哥菜鸟,在做微服务,以及服务器端开发的过程中,常常会遇到项目的启动需要使用main方法,笔者潜心的研究了很多博客,发现大多写的都 ...

  2. 使用idea生成maven项目的jar包(转)

    第一步  第二步  第三步 转自:https://blog.csdn.net/waterimelon/article/details/69243651

  3. 为什么项目的jar包会和tomcat的jar包冲突?

    为什么项目的jar包会和tomcat的jar包冲突? 碰到这个问题,猜测tomcat启动时会将自己的lib和项目的lib在逻辑上归并为一个大的lib,但是并没有做版本区分以及去重,这样相同的包可能就有 ...

  4. Java文档注释导出帮助文档和项目的jar包导入和导出。

    1.1      文档注释导出帮助文档 在eclipse使用时,可以配合文档注释,导出对类的说明文档,从而供其他人阅读学习与使用. 通过使用文档注释,将类或者方法进行注释用@简单标注基本信息.如@au ...

  5. Maven仓库搜索jar包依赖网址

    可在该网站搜索jar包依赖 http://search.maven.org/

  6. maven学习(六)——在别的项目中引用通过Maven安装生成的项目的jar包

    1.新建HelloFriend项目,同时建立Maven约定的目录结构和pom.xml文件 HelloFriend    | --src | -----main | ----------java | - ...

  7. 【maven】maven 子项目如何使用父项目的jar包

    如果父pom中使用的是 <dependencies>....</dependencies> 方式, 则子pom会自动使用pom中的jar包 如果父pom使用 <depen ...

  8. java全栈day13----Eclipse项目的jar包导出与使用jar包

    01eclipse快捷键 Ctrl+T:查看所选中类的继承树 例如,在下面代码中,选中Teacher类名,然后按Ctrl+T,就会显示出Teacher类的继承关系 * B: 查看所选中方法的源代码 ...

  9. 解决Maven项目中jar包依赖冲突问题

    版本冲突的解决方案 [1]调节原则 [1]路径最短者优先原则 [2]路径相同时,先声明者优先原则 [2]排除原则:用于排除某项依赖的依赖jar包 <dependency> <grou ...

随机推荐

  1. R语言学习笔记—K近邻算法

    K近邻算法(KNN)是指一个样本如果在特征空间中的K个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性.即每个样本都可以用它最接近的k个邻居来代表.KNN算法适 ...

  2. Caffe on Windows (Visual Studio 2015+CUDA8.0+cuDNNv5)

    Title : Caffe (Visual Studio15+CUDA8+cuDNN5+python3.5) Author : SURFZJY Logo : True [TITLE] Requirem ...

  3. linux编译安装aria2

    一.安装aria2  [root@192-168-7-77 ~]# wget https://github.com/aria2/aria2/releases/download/release-1.33 ...

  4. CF终于上紫了。。。

    纪念一下...

  5. browser-sync 文件监听失败的解决方案

    问题 为了方便实时预览前端开发过程中修改源码后的页面,我在全球最大的同性交友网Github中找到了一个非常实用的工具,browser-sync. 安装使用方式请自行到官网https://browser ...

  6. 有关onpropertychange事件

    <div style="border:1px solid #fc0;height:24px;width:300px;" id="target">&l ...

  7. IIS7 增加JSON文件解析

    在MIME增加一个Json类型,在MIME增加一个配置如:添加---> 文件扩展名为 .JSON ,MIME类型为text/json(也有将application/x-javascript) 然 ...

  8. 接口测试中抓包工具Charles的使用

    在被测接口并没有明确的接口文档给出时,我们需要借助抓包工具来帮助测试,利用抓包工具我们几乎可以获得接口文档中能给你的一切.常见的抓包工具有Charles和Fiddler, Fiddler只能用在Win ...

  9. myBatis逆向工程的使用

    使用myBatis Generator可以快速生成实体类.dao类和mapper文件.有两种方式,现在说的是比较灵活的方式.本文栗子使用的是IDEA,目录结构为maven项目的结构. 1.在pom.x ...

  10. oracle表空间的创建及dmp 文件的导入

    --用oracle系统权限的账号 登陆 -- 1.创建用户 create user u_name identified by "u_password"; --2.赋予权限 gran ...