maven的传递性依赖】的更多相关文章

maven引入的传递性依赖机制,一方面大大简化和方便了依赖声明,另一方面,大部分情况下我们只需要关心项目的直接依赖是什么,而不用考虑这些直接依赖会引入什么传递性依赖.但有时候,当传递性依赖造成问题的时候,我们就需要清楚地知道该传递性依赖是从哪条依赖路径引入的. 例如,项目A有这样的依赖关系 : A-->B-->C-->X(1.0).A-->D-->X(2.0),X是A的传递性依赖,但是两条依赖路径上有两个版 本的X,那么哪个X会被maven解析使用呢?两个版本都被解析显然是不…
一.概念: 假如有maven项目A,项目A依赖项目B,项目B依赖项目C,我们说A对B是第一直接依赖,B对C是第二直接依赖,那么他们的依赖关系:A---->B----->C,那么我们执行项目A时,会自动把B.C都下载导入到C项目的jar包文件夹中, 这就是依赖的传递性. 第一直接依赖和第二直接依赖的依赖范围决定了传递性依赖的范围,下面一张图描述一下,第一列是第一直接依赖,第一行是第二直接依赖,交叉部分就是传递性依赖的范围了: 依赖范围影响传递性依赖:   compile test provide…
了解Spring的朋友都知道.创建一个Spring Framework项目都须要依赖什么样的Jar包.假设不使用Maven,那么在项目中就须要手动下载相关的依赖.因为Spring Framework又会依赖与其它开源类库,因此实际中往往会下载Spring Framework的jar包.还的下载全部它依赖的其它jar包. 这么做往往就引入了非常多不必要的依赖.还有一种做法是仅仅下载Spring Framework的jar包.不包括其它的相关依赖,到实际使用的时候.再依据报错信息.或者查询相关文档,…
1:依赖声明 <project> ... <dependencies> <dependency> <groupId>...</groupId> <artifactId>...</artifactId> <version>...</version> <type>...</type> <scope>...</scope> <optional>.…
在上一篇文章中我们已经介绍了依赖性,这次我们再来介绍下传递依赖的问题,首先我们还是在上篇文章基础之上进行编写. 1.上篇文章中已经建立了一个user-core的模块,现在首先再建立一个user-log的模块,在此模块中引入log4j.commons-logging等包: <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId>…
目录 依赖范围 传递性依赖 依赖调节 可选依赖 本文主要是针对<maven实战>书中关键知识点的学习记录,未免有纰漏或描述不到之处,建议购买阅读原书 首先贴出一个pom常见的一些元素释义 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="ht…
 1 maven概念模型 2 maven的生命周期,项目构建过程 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdG90b3R1enVvcXVhbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt=""> Maven生命周期就是为了对全部的构建过程进行抽象和统一 包含项目清理,初始化,编译,打包,測试,部署等…
1.1 何为Maven坐标 正如之前所说的,Maven的一大功能就是管理项目依赖.为了能自动化地解析任何一个Java构件,Maven就必须将它们唯一标识,这就依赖管理的底层基础——坐标. 1.2 坐标详解 Maven坐标的元素包括:groupId,artifactId.version.packaging.classifier.先看一组坐标定义,如下: <groupId>org.sonatype.nexus</groupId> <artifactId>nexus-inde…
Maven 坐标与依赖 Maven 的一大功能是管理项目依赖.为了能自动化地解析任何一个 Java 构件, Maven 就必须将它们唯一标识,这就依赖管理的底层基础 一一 坐标.本章将详细分析 Maven 坐标的作用,解释其每一个元素:在此基础上,再介绍如何配置 Maven,以及相关的经验和技巧,以帮助我们管理项目依赖. 1. 坐标详解 Maven 坐标为各种构件引人了秩序,任何一个构件都必须明确定义自己的坐标,而组 Maven 坐标是通过一些元素定义的,它们是 grouped. artifac…
Github地址:https://github.com/zwjlpeng/Maven_Detail Maven最大的好处莫过于其强大的依赖管理系统,在Pom配置文件中指定项目需要的Jar包的坐标,Maven就可以自动帮我们从中央仓库或者自已的私服下载,当项目中由于依赖的传递性,引入了两份相同的Jar包时,Maven也会根据自已的规则如路径最短,先声明者优先对相同Jar包进行取舍,达到项目类路径中只保留一份Jar包的目的,我们不排队一些粗心的程序员,在同一份Pom配置文件中对相同Jar写了两份不同…
1. 依赖配置 1.1 依赖配置主要包含如下元素: <!--添加依赖配置--> <dependencies> <!--项目要使用到junit的jar包,所以在这里添加junit的jar包的依赖--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.9</version> <…
在写本文的时候先来说明一下maven依赖的各种范围的意思 compile(编译范围)       compile 是默认的范围:如果没有提供一个范围,那该依赖的范围就是编译范围.编译范围依赖在所有的classpath 中可用,同时它们也会被打包.provided(已提供范围)       provided 依赖只有在当JDK 或者一个容器已提供该依赖之后才使用.例如,如果你开发了一个web 应用,你可能在编译classpath 中需要可用的ServletAPI 来编译一个servlet,但是你不…
新版API上线后,发现LOG文件没有正常输出.查看Tomcat的Log文件发现如下的错误信息 May , :: AM com.sun.xml.ws.server.sei.EndpointMethodHandler invoke SEVERE: Found class ch.qos.logback.core.spi.CyclicBufferTracker, but interface was expected java.lang.IncompatibleClassChangeError: Foun…
本文转自:http://my.oschina.net/cloudcoder/blog/212648 一.导出到默认目录 targed/dependency 从Maven项目中导出项目依赖的jar包:进入工程pom.xml 所在的目录下,执行如下命令: mvn dependency:copy-dependencies 或在eclipse中,选择项目的pom.xml文件,点击右键菜单中的Run As,见下图红框中,在弹出的Configuration窗口中,输入 dependency:copy-dep…
maven的一些依赖: <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">…
maven-dependency-plugin最大的用途是帮助分析项目依赖,dependency:list能够列出项目最终解析到的依赖列表,dependency:tree能进一步的描绘项目依赖树,dependency:analyze可以告诉你项目依赖潜在的问题,如果你有直接使用到的却未声明的依赖,该目标就会发出警告.maven-dependency-plugin还有很多目标帮助你操作依赖文件,例如dependency:copy-dependencies能将项目依赖从本地Maven仓库复制到某个特…
eclipse导入maven项目后依赖jar包更新问题 1.eclipse有专门的导入maven项目按钮,file-import-maven project,eclipse会自动查找指定路径下的pom,并进行解析pom.xml,为项目添加进来jar包 2.如果本地仓库有jar包,或者更换了.只需要右键工程名,选择maven,->update project,能自动更新依赖jar包 3.包含xml的配置也是如此,如果更新更改了配置,refresh下这个xml文件就好了…
idea maven web工程明明添加了maven lib的依赖,但启动web容器时始终报No Class Found? 很久没用idea搭新工程,最近自己想做个东西,冲心搭个web工程,jar包都用maven刷好了,而且也将jar包添加至web module的Dependences里头了,但启动web容器始终报No Class Found,问题出在哪了,就出在添加jar包和配置Artifacts Explore的顺序弄反了,因为在添加发布包Artifacts Explore时jar包依赖还没…
Maven导出Project依赖的jar包 从Maven仓库中导出jar包: mvn dependency:copy-dependencies 会导出到Project的targed/dependency 下面 可以在Project创建lib文件夹,输入以下命令: mvn dependency:copy-dependencies -DoutputDirectory=lib 这样jar包都会copy到Project目录下的lib里面 可以设置依赖级别,通常用编译需要的jar mvn dependen…
一.maven项目已jar包形式导出 1.首先右键项目,选择Export 2.选择好项目,设置导出路径和jar名字即可: 二.导出maven项目所依赖的所有jar包 1.右键项目,选择Export 2.选择好项目和导出后的文件名字 3.导出后maven依赖的jar包都会存储在你刚才设置的路径的文件夹下 原创作品,转载请声明转载地址:http://www.cnblogs.com/NiceCui/p/7754489.html…
前言 本篇文章基于Java开发小技巧(二):自定义Maven依赖中创建的父工程project-monitor实现,运用我们自定义的依赖包进行多工程依赖项目的开发. 下面以多可执行Jar包项目的开发为例,进行Maven多工程依赖项目开发的讲解. 需求分析 首先来看一下封面图,我们要实现的效果是: 1.多个项目共享一个项目的类和方法等通用内容 2.每个子项目单独导入所需依赖,以及各自填充父项目配置文件中的占位符 3.子项目按指定目录结构进行打包 4.所有子项目集成打包到一个统一的目录,共享依赖包和配…
Maven教程2(Eclipse配置及maven项目) Maven项目,依赖,构建配置,以及构件:所有这些都是要建模和表述的对象.这些对 象通过一个名为项目对象模型(Project Object Model, POM)的XML文件描述.这个POM 告诉Maven它正处理什么类型的项目,如何修改默认的行为来从源码生成输出.同样 的方式,一个Java Web应用有一个web.xml文件来描述,配置,及自定义该应用,一个 Maven项目则通过一个 pom.xml文件定义.该文件是Maven中一个项目的…
转自:https://blog.csdn.net/andyliulin/article/details/46544555 一.导出到默认目录 targed/dependency 从Maven项目中导出项目依赖的jar包:进入工程pom.xml 所在的目录下,执行如下命令: 1 mvn dependency:copy-dependencies 或在eclipse中,选择项目的pom.xml文件,点击右键菜单中的Run As,见下图红框中,在弹出的Configuration窗口中,输入 depend…
maven 中maven dependencies中依赖出现了项目,无法打包 ,出现的错误如图.说明:依赖的项目为project-dao  打包的项目为project-service  都在project-parent中有依赖. [INFO] Scanning for projects...[INFO]                                                                         [INFO] ------------------…
摘要: 在进行项目部署时,需要将maven项目所依赖的jar导出到指定目录,本文讲解如何导出项目依赖的jar包 一.导出到默认目录 targed/dependency 从Maven项目中导出项目依赖的jar包:进入工程pom.xml 所在的目录下,执行如下命令: mvn dependency:copy-dependencies 或在eclipse中,选择项目的pom.xml文件,点击右键菜单中的Run As,见下图红框中,在弹出的Configuration窗口中,输入 dependency:co…
一.问题 项目开发过程中,经常会遇到jar冲突,然后maven根据自己的规则进行冲突解决,导致项目在运行的过程中报错. 1.maven自动解决依赖冲突的规则是什么? 2.如何查看当前项目的maven的依赖树? 3.如何从依赖树中找到自己预期的版本,是被那个jar给覆盖了? 4.如何人工进行依赖冲突解决,达到使用目的? 二.解决问题 1.maven自动解决依赖冲突的规则是什么? 第一原则:路径最近者优先 项目A有如下的依赖关系: A->B->C->X(1.0) A->D->X(…
一.Maven3.5.0安装与配置+Eclipse应用 参考:Maven3.5.0安装与配置+Eclipse应用 二.http://mvnrepository.com/ 此处以http://mvnrepository.com/artifact/org.apache.spark/spark-core_2.11/2.1.1作为例子: 复制这一段加入到pom.xml即可: <!-- https://mvnrepository.com/artifact/org.apache.spark/spark-co…
1.在默认生命周期的compile阶段执行 maven-dependency-plugin:copy-dependencies命令即可:<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-dependency-plugin</artifactId><executions><execution><id>install</i…
ylbtech-Java-Maven-Runoob:Maven 引入外部依赖 1.返回顶部 1. Maven 引入外部依赖 如果我们需要引入第三库文件到项目,该怎么操作呢? pom.xml 的 dependencies 列表列出了我们的项目需要构建的所有外部依赖项. 要添加依赖项,我们一般是先在 src 文件夹下添加 lib 文件夹,然后将你工程需要的 jar 文件复制到 lib 文件夹下.我们使用的是 ldapjdk.jar ,它是为 LDAP 操作的一个帮助库: 然后添加以下依赖到 pom.…
maven 中maven dependencies中依赖出现了项目,把依赖的项目关掉,项目消失,但是还是无法打包 ,出现的错误如图.说明:依赖的项目为project-dao  打包的项目为project-service  都在project-parent中有依赖. project-dao是可以打包成功的.project-service中依赖dao的jar包也可以过 来. [INFO] Scanning for projects... [INFO]                        …