首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Maven 2中,我如何知道依赖性来自哪个依赖?

在 Maven 2 中,您可以使用以下方法来确定依赖关系来自哪个依赖项:

  1. 使用 mvn dependency:tree 命令查看依赖树。

在项目根目录下运行此命令,它将显示项目中所有依赖项及其版本,以及它们的传递依赖关系。

例如:

代码语言:txt
复制

$ mvn dependency:tree

INFO Scanning for projects...

INFO

INFO ------------------< com.example:my-project >-------------------

INFO Building my-project 1.0-SNAPSHOT

INFO -------------------------------- jar ---------------------------------

INFO

INFO --- maven-dependency-plugin:2.8:tree (default-cli) @ my-project ---

INFO com.example:my-project:jar:1.0-SNAPSHOT

INFO +- org.springframework.boot:spring-boot-starter-web:jar:2.5.4:compile

INFO | +- org.springframework.boot:spring-boot-starter:jar:2.5.4:compile

INFO | | +- org.springframework.boot:spring-boot:jar:2.5.4:compile

INFO | | | - org.springframework.boot:spring-boot-autoconfigure:jar:2.5.4:compile

INFO | | +- org.springframework.boot:spring-boot-starter-logging:jar:2.5.4:compile

INFO | | | +- ch.qos.logback:logback-classic:jar:1.2.3:compile

INFO | | | | - ch.qos.logback:logback-core:jar:1.2.3:compile

INFO | | | +- org.apache.logging.log4j:log4j-to-slf4j:jar:2.14.1:compile

INFO | | | | - org.apache.logging.log4j:log4j-api:jar:2.14.1:compile

INFO | | | - org.slf4j:jul-to-slf4j:jar:1.7.32:compile

INFO | | +- org.springframework.boot:spring-boot-starter-tomcat:jar:2.5.4:compile

INFO | | | +- org.apache.tomcat.embed:tomcat-embed-core:jar:9.0.50:compile

INFO | | | +- org.apache.tomcat.embed:tomcat-embed-el:jar:9.0.50:compile

INFO | | | - org.apache.tomcat.embed:tomcat-embed-websocket:jar:9.0.50:compile

INFO | | +- org.springframework:spring-web:jar:5.3.9:compile

INFO | | | - org.springframework:spring-beans:jar:5.3.9:compile

INFO | | - org.springframework:spring-webmvc:jar:5.3.9:compile

INFO | | +- org.springframework:spring-aop:jar:5.3.9:compile

INFO | | +- org.springframework:spring-context:jar:5.3.9:compile

INFO | | - org.springframework:spring-expression:jar:5.3.9:compile

INFO | +- org.springframework.boot:spring-boot-starter-validation:jar:2.5.4:compile

INFO | | +- javax.validation:validation-api:jar:2.0.1.Final:compile

INFO | | - org.hibernate.validator:hibernate-validator:jar:6.2.0.Final:compile

INFO | | +- org.hibernate.validator:hibernate-validator-cdi:jar:6.2.0.Final:compile

INFO | | +- javax.validation:validation-api:jar:2.0.1.Final:compile

INFO | | +- org.jboss.logging:jboss-logging:jar:3.4.1.Final:compile

INFO | | - com.fasterxml:classmate:jar:1.5.1:compile

INFO | +- org.springframework.boot:spring-boot-starter-json:jar:2.5.4:compile

INFO | | +- com.fasterxml.jackson.core:jackson-databind:jar:2.12.5:compile

INFO | | | +- com.fasterxml.jackson.core:jackson-annotations:jar:2.12.5:compile

INFO | | | - com.fasterxml.jackson.core:jackson-core:jar:2.12.5:compile

INFO | | +- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.12.5:compile

INFO | | +- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.12.5:compile

INFO | | - com.fasterxml.jackson.module:jackson-module-parameter-names:jar:2.12.5:compile

INFO | - com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:jar:2.12.5:compile

INFO | +- org.yaml:snakeyaml:jar:1.27:compile

INFO | - com.fasterxml.jackson.core:jackson-databind:jar:2.12.5:compile

INFO | +- com.fasterxml.jackson.core:jackson-annotations:jar:2.12.5:compile

INFO | - com.fasterxml.jackson.core:jackson-core:jar:2.12

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

「安全工具」13个工具,用于检查开源依赖项的安全风险

软件依赖性通常是最大的攻击面 组织通常假设大多数风险来自面向公众的Web应用程序。那已经改变了。每个应用程序中都有许多小组件,风险可以来自代码库中的任何位置。...对于初学者来说,大多数组织没有准确的不同应用程序使用的软件依赖性清单。此外,除了来自支持项目的社区的微薄通知之外,大多数组织没有可靠的方法发现零天或提供补丁时得到通知。...最大的问题是组织仍然认为开源代码比商业代码更安全;只需阅读此Reddit主题即可了解人们如何查看此主题。 别误会的意思。并不是说开源不如商业安全。...它从NPM,Nuget,Maven Central Repository,Bower,Chocolatey和MSI中提取依赖性信息(这意味着它涵盖了JavaScript,.NET / C#和Java生态系统...依赖检查 依赖检查是OWASP的一个开源命令行工具,维护得很好。它既可以独立模式下使用,也可以构建工具中使用。依赖性检查支持Java,.NET,JavaScript和Ruby。

3.1K20

好机会,要帮女同事解决Maven冲突问题

大部分都是用 Maven 来管理依赖的 Jar,今天这篇文章主要是讲解如何解决 Maven 带来的依赖冲突问题。...Maven 依赖传递 今天主要讲下如何去解决 Maven依赖管理的时候 Jar 包冲突的问题,解决之前先来了解下基本的知识。 ?...依赖传递 Jar 包选择逻辑 依赖性传递会导致项目中依赖很多其他版本的 Jar,这种情况下怎么进行 Jar 包的选择呢?...Eclipse Eclipse 中可以双击 pom 文件,进入 Dependency 视图,输入你要搜索的 jar 名称进行搜索,就可以看出当前项目中哪些框架依赖了你搜索的 jar,什么版本都能知道...这个时候可以通过设置 optional=true 来解决这个问题,依赖了你的通用模块 Common,如果要使用 A 功能,那么必须显示依赖 A 功能需要的三方依赖才可以。

58920

maven入坑指南

你可以把maven当做一个超市,超市里有柴米油盐酱醋茶等等很多材料,你需要哪个材料只需要通过一定的手段拿即可。...2、pom.xml配置jarmaven本地仓库的坐标后jar会上传到中央仓库。这样理解也对,但不够深入。 ”小朋友,你是不是 有很多问号?...“本次是教大家入门,想深入了解maven,敬请等待下次分享。 一、maven的有优点与弊端 优缺点是从网上摘抄的,没毛病。 优点如下: 1、简化了项目依赖管理。...推荐:https://www.cnblogs.com/chuhongyun/p/11419014.html 大多数jar包来自国外 使用maven默认配置下载很费劲,这个时候可以maven的配置文件(...四、踩坑记录 1、引入pom.xml文件中的依赖性能比较卡、慢 将setting文件中的镜像仓库地址改成阿里的镜像仓库,具体操作自行google 2、使用阿里镜像仓库访问https问题 因为没有安全证书

60910

Maven pom 中配置依赖机制

基于这个原因,还有一些限制依赖项的特性: 依赖性中介——这决定了当依赖性遇到多个版本时,将选择工件的哪个版本。Maven 中采取了路径优先的策略。也就是说,它使用依赖树中与项目最接近的依赖项的版本。...当前项目为A,A依赖于B,B 依赖于 C。知道BA项目中的scope,那么怎么知道CA中的scope呢?...Maven 还提供了 dependency:analyze 插件目标以分析依赖性: 它有助于使这种最佳实践更容易实现。...另外 runntime 的依赖通常和 optional 搭配使用,optional为true。可以用 A 实现,也可以用 B 实现。...Importing Dependencies 导入依赖项 上一节中的示例描述了如何通过继承指定托管依赖项。但是,较大的项目中可能不可能完成这一任务,因为项目只能从单个父项目继承。

1.7K40

TestNG环境搭建(一)

TestNG的测试框架中,具备了前置测试条件和后置测试条件的处理,依赖性测试,测试分组性的测试,参数化的测试,多线程执行,以及可以和Allure整合后的测试报告,当然它本身就内置了测试报告。...TestNG主要是通过XML配置文件来指定被需要执行的测试套件(测试类以及测试方法),默认的情况下,文件名称为testng.xml,当然我们可以自定义成其他的名字,但是个人建议还是使用默认的名字比较好...作为一个单元测试框架必须得具备这样的功能和设计 基于XML文件来配置要被测试的测试用例,XML文件可使用类,套件,以及测试方法等 基于组,依据业务特性或者说测试的基本需求,可以把某些一些测试用例分配到一些组中,另外一些分配到其他组来执行 依赖性的测试...,基于特性的要求,可能测试用例之间执行就会涉及到测试用例执行的依赖性 测试方法的参数化,这符合测试驱动的思想,可以XML文件中配置参数传递给指定的测试方法 多线程执行,允许多个环境中执行自动化测试用例...信息准确性") public void test_baidu_title() { Assert.assertEquals(driver.getTitle(),"百度一下,你就知道

64730

是时候装逼了,试试 IDEA 解决 Maven 依赖冲突的高能神器!

来自:sf.com/a/1190000017542396 Hello,大家好,是良月柒。 不管做什么,只要坚持下去就会不一样! 今天,来讲一个 Maven 经典实战问题,依赖冲突。...这时候,Maven会将这1.0的C和2.0的C都下载到你的项目中,这样你的项目中就存在了不同版本的C,这时Maven会依据依赖路径最短优先原则 ,来决定使用哪个版本的Jar包,而另一个无用的Jar包则未被使用...大多数时候,依赖冲突可能并不会对系统造成什么异常,因为Maven始终选择了一个Jar包来使用。...3、Maven Helper 看到这里,你可能会有一个疑问。如何才能知道自己的项目中哪些依赖的Jar包冲突了呢?Maven Helper这个InteliJ IDEA的插件帮我们解决了这个问题。...插件的安装方法就不讲了,既然你都会Maven了,相信你也是会安装插件的。 插件安装好之后,我们打开pom.xml文件,底部会多出一个Dependency Analyzer 选项 ?

76550

IDEA与MAVEN使用

其中有几个较为重要的元素: localRepository 本地仓库的地址,maven工程中依赖的构件,首先到本地仓库进行查找,查找不到才会到远程仓库查找。...maven的世界中,对所有依赖的引用都是通过坐标完成的,即使用GAV(GroupId,ArtifactId,Version)进行定位。...继承和聚合略有不同,继承关系中,被继承的pom并不知道自身被哪些工程继承,具体工程则明确知道继承哪个pom;聚合关系中,根pom中明确声明了包含哪些子模块,模块则并不感知被哪些pom包含。...,A对C的依赖不存在;A对B的依赖范围为这两个属性值的行,传递过来的依赖性降低为这两个属性值。...;A对B的依赖范围为compile的行,A对C的依赖性降低为B对C的依赖性

4.9K20

面试必问的40个SpringBoot面试题!需要的拿走SpringBoot面试题【建议收藏】

** **11、为什么我们需要 spring-boot-maven-plugin?** **12、如何使用 SpringBoot 自动重装的应用程序?...手动设置一个 maven 项目 这里有几个重要的步骤: Eclipse 中,使用文件 - 新建 Maven 项目来创建一个新项目 添加依赖项。 添加 maven 插件。...来自://projects.spring.io/spring- data/ Spring Data 的使命是保证底层数据存储特殊性的前提下,为数据访问提供一个熟悉的,一致性的,基于 Spring 的编程模型...后来(知道 - 小于百分之一的几率),我们可以使用另一种 JPA 实现。 31、使用 Spring Boot 启动连接到内存数据库 H2 的 JPA 应用程序需要哪些依赖项?...下面是我们添加的依赖项: spring-boot-stater-data-jpa 对于 Hibernate 和 JPA 有过渡依赖性

5.2K31

SpringBoot框架之概述与原理浅析

大家好,又见面了,是你们的朋友全栈君。...4、SpringBoot的核心功能 ①、起步依赖 SpringBoot起步依赖就是前面那篇创建springBoot项目中,手动创建法时,项目Maven核心配置文件pom.xml中添加的spring-boot-starter-parent...②、自动配置 Spring Boot的自动配置是一个运行时(更准确地说,是应用程序启动时)的过程,考虑了众多因素,才决定Spring配置应该用哪个,不该用哪个。...所以起步依赖的原理是将一些特定版本的依赖整合到spring-boot-dependencies项目中,然后其他SpringBoot项目通过Maven的传递依赖继承这些依赖,这样就不用我们自己手动配置Spring...那SpringBoot项目如何知道你添加的application.properties是项目配置文件呢?

94020

把公司 10 年老系统改造 Maven,真香!!

快速创建一个 Maven 项目 Maven Archetype 介绍 如何快速创建一个 Maven 项目,可以通过 Maven 的 Archetype 来进行创建,Archetype 是 Maven 提供的各种各样的工程模板...的思路是先把一些核心框架的依赖进行转换,再进行一些比较独立的公共工具包的转换,最后就是一些不熟悉的依赖转换。...根据 JAR 包找 Maven 依赖的时候,可能有多个名称一样的依赖,不知道引用哪个,这时候需要去原始 JAR 包中看下包名,根据包名就大概知道坐标信息了。...artifactId> ${test.version} JDK6 如源代码编译报错,不知道引用的哪个...JAR 包、或者哪个版本,可以到原始项目中点对应的类引用进去看就知道了。

44510

七年的资深架构师告诉你成为架构师的知识体系

,还需要知道如何去结合网络,存储,甚至一些文件系统的特性,比如GFS,NFS,XFS,NTFS等等,而且架构师还需要知道一些编程语言的特性,C,C++,Java,PHP,Python,Lisp,JS等等...分布式专题.jpg 二、工程化专题 1、Maven 如今的互联网项目开发当中,特别是Java领域,可以说Maven随处可见。...Maven的仓库管理、依赖管理、继承和聚合等特性为项目的构建提供了一整套完善的解决方案,可以说如果你搞不懂Maven,那么一个多模块的项目足以让你头疼,依赖冲突就会让你不知所措,甚至搞不清楚项目是如何运行起来的...由于项目是前后端分离,前端和后端都是单独部署的, 后端 采用 JAVA编写,使用Maven管理多模块和项目依赖, 前段使用 npm 管理项目组件依赖, webpack进行打包。...你可以将其看作是架构层次而非获取服务的类上应用很多SOLID原则。 用通俗的话来讲,就是为了高度解耦软件之间的依赖性,使每个独立的模块都能够单独测试,单独运维,最大限度的提高软件的开发流程。

1.8K40

前阿里P8架构师:精准定制Java架构师学习计划!

二、工程化专题 1、Maven 如今的互联网项目开发当中,特别是Java领域,可以说Maven随处可见。...Maven的仓库管理、依赖管理、继承和聚合等特性为项目的构建提供了一整套完善的解决方案,可以说如果你搞不懂Maven,那么一个多模块的项目足以让你头疼,依赖冲突就会让你不知所措,甚至搞不清楚项目是如何运行起来的...由于项目是前后端分离,前端和后端都是单独部署的, 后端 采用 JAVA编写,使用Maven管理多模块和项目依赖, 前段使用 npm 管理项目组件依赖, webpack进行打包。...你可以将其看作是架构层次而非获取服务的类上应用很多SOLID原则。 用通俗的话来讲,就是为了高度解耦软件之间的依赖性,使每个独立的模块都能够单独测试,单独运维,最大限度的提高软件的开发流程。...那如何学习才能快速入门并精通呢? 当真正开始学习的时候难免不知道从哪入手,导致效率低下影响继续学习的信心。

57740

前阿里P8架构师:精准定制Java架构师学习计划!

1、Maven 如今的互联网项目开发当中,特别是Java领域,可以说Maven随处可见。...Maven的仓库管理、依赖管理、继承和聚合等特性为项目的构建提供了一整套完善的解决方案,可以说如果你搞不懂Maven,那么一个多模块的项目足以让你头疼,依赖冲突就会让你不知所措,甚至搞不清楚项目是如何运行起来的...由于项目是前后端分离,前端和后端都是单独部署的, 后端 采用 JAVA编写,使用Maven管理多模块和项目依赖, 前段使用 npm 管理项目组件依赖, webpack进行打包。...你可以将其看作是架构层次而非获取服务的类上应用很多SOLID原则。 用通俗的话来讲,就是为了高度解耦软件之间的依赖性,使每个独立的模块都能够单独测试,单独运维,最大限度的提高软件的开发流程。...那如何学习才能快速入门并精通呢? 当真正开始学习的时候难免不知道从哪入手,导致效率低下影响继续学习的信心。

51230

为什么说 Java 程序员到了必须掌握 Spring Boot 的时候?

这包括 gradle/maven 中设置依赖库,使用 xml、注解或 java 代码配置需要的 Spring Bean。...在这本书中,他提出了一个基于普通 Java 类和依赖注入的更简单的解决方案。 书中,他展示了如何在不使用 EJB 的情况下构建高质量,可扩展的在线座位预留系统。...以往我们做Spring应用开发,要知道配置哪些类来让Hibernate和Spring一起工作,要知道如何配置view resolver来控制哪个模版进行视图层的展示。...有可能我们要配置很多第三方工具来去知道这个应用程序运行状态如何,有哪些参数,环境变量是什么。...Java程序员可能还在研究该使用Maven里面的哪个库,如何在代码里面进行配置。 但是现在 Spring Boot的出现让这一情况有了很大的改观。

67220

解决Maven依赖冲突的好帮手,这款IDEA插件了解一下?

这时候,Maven会将这1.0的C和2.0的C都下载到你的项目中,这样你的项目中就存在了不同版本的C,这时Maven会依据依赖路径最短优先原则,来决定使用哪个版本的Jar包,而另一个无用的Jar包则未被使用...大多数时候,依赖冲突可能并不会对系统造成什么异常,因为Maven始终选择了一个Jar包来使用。...3、Maven Helper 看到这里,你可能会有一个疑问。如何才能知道自己的项目中哪些依赖的Jar包冲突了呢?Maven Helper这个InteliJ IDEA的插件帮我们解决了这个问题。...插件的安装方法就不讲了,既然你都会Maven了,相信你也是会安装插件的。...)或者使用快捷键(Ctrl+Alt+Shift+U),即可打开Maven依赖关系结构图 图中,我们可以看到有一些红色的实线,这些红色实线就是依赖冲突,蓝色实线则是正常的依赖

2.2K50
领券