Maven exclusions(排除依赖)

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-webmvc</artifactId>

<version>2.5.6</version>

<exclusions>

<exclusion>

<groupId>org.springframework</groupId>

<artifactId>spring-beans</artifactId>

</exclusion>

<exclusion>

<groupId>org.springframework</groupId>

<artifactId>spring-context</artifactId>

</exclusion>

<exclusion>

<groupId>org.springframework</groupId>

<artifactId>spring-core</artifactId>

</exclusion>

<exclusion>

<groupId>org.springframework</groupId>

<artifactId>spring-web</artifactId>

</exclusion>

</exclusions>

</dependency>

maven排除依赖jar处理,但是这样在某些时候会造成一些不可预测的异常。比如上面的程序,根据maven介绍,上面的结构会排除对spring-beans,spring-context,spring-core,spring-web   2.5.6版本的依赖,但是如果出现类似下面的配置:

<dependency>

<groupId>org.apache.activemq</groupId>

<artifactId>activemq-pool</artifactId>

<version>5.2.0</version>

</dependency>

activemq-pool会依赖spring-beans,spring-core等jar包,由于上面的配置已经不允许出现2.5.6版本的类似
jar包,所以当前配置的依赖也不会去引用那些jar包,但是它会试着去引用更低版本或者更高版本的jar,从而导致jar包冲突。

时间: 2024-10-01 07:43:41

Maven exclusions(排除依赖)的相关文章

Maven 可选的依赖和依赖排除

转载自并发编程网 – ifeve.com本文链接地址: <Maven官方指南>可选的依赖和依赖排除 简介 这节主要讨论了可选的依赖排除功能.这将帮助用户理解它们是什么,怎么使用它们,它们是怎么工作的,和使用它们的最好的方式.同样也解释了为什么排除是在每个依赖的基础上,而不是在POM级别. 可选的依赖 当不可能把一个项目分裂成子模块(不管什么原因)的时候,我们可以使用可选的依赖.它的思想就是:在项目中一些依赖仅仅被某些功能使用,并且如果这个功能不被使用,这个依赖就不需要.理想情况下,根据核心的功

Maven实战07_依赖

1:依赖声明 <project> ... <dependencies> <dependency> <groupId>...</groupId> <artifactId>...</artifactId> <version>...</version> <type>...</type> <scope>...</scope> <optional>.

POM(project Object Model) Maven包管理依赖 pom.xml文件

什么是POM POM全称为“Project Object Model”,意思是工程对象模型.Maven工程使用pom.xml来指定工程配置信息,和其他文本信息.该配置文件以xml为格式,使用xml语法表明信息. 快速预览 一个pom.xml文件主要包括以下元素信息: pom.xml 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39

maven in action(四)maven坐标和依赖

坐标(coordinate) 数学课本中的坐标,在平面中的坐标(x,y)能标明平面中的一点,(x,y,z)能找到空间立体中的一点.根据你的身份证地址能找到这个世界上独一无二的你.而在maven中,世界上任何一个构建(jar或者war)都能用maven坐标唯一标识,maven坐标包括groupId.artifactId.version.packaging.classifier.我们提供正确的坐标元素,maven就能找到对应的构建.在上个maven helloworld示例中,我们可以看到pom.x

(四)《Maven实战》读书笔记 —— Maven坐标和依赖

第四章:坐标和依赖 正如第1章所述,Maven的一大功能是管理项目依赖.为了能自动化地解析任何一个Java构件,Maven就必须将它们唯一标识,这就是依赖管理的底层基础--坐标. 4.1 何为Maven坐标 关于坐标(Coordinate),大家最熟悉的定义应该来自于立体几何.在一个立体坐标系中,该立体空间内的任何一个点,都能够用坐标(x,y,z)唯一标识.在实际生活中,我们可以将地址看成一种坐标.省市县等一系列信息同样可以唯一标识城市中的任一居住地址,邮局和快递公司正是基于这样一种坐标进行邮件

maven坐标与依赖

坐标 在maven中,任何构件都有明确定义的坐标.这些坐标是通过一些元素定义的,下面是nexus-indexer的坐标定义: <groupId>org.sonatype.nexus</groupId><artifactId>nexus-indexer</artifactId><version>2.0.0</version><packing>jar</packing> groupId:定义当前maven项目隶属的

maven的一些依赖

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教程3(依赖管理)

Maven教程2(Eclipse配置及maven项目) Maven项目,依赖,构建配置,以及构件:所有这些都是要建模和表述的对象.这些对 象通过一个名为项目对象模型(Project Object Model, POM)的XML文件描述.这个POM 告诉Maven它正处理什么类型的项目,如何修改默认的行为来从源码生成输出.同样 的方式,一个Java Web应用有一个web.xml文件来描述,配置,及自定义该应用,一个 Maven项目则通过一个 pom.xml文件定义.该文件是Maven中一个项目的

maven包循环依赖。导致溢出定位加解决

通过命令 mvn denpendency:tree 可以打印出  当前工程的maven依赖路径 [INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ bnq_worker ---[INFO] com.bnq:bnq_worker:war:1.0.0-SNAPSHOT[INFO] +- com.bnq:bnq_biz:jar:1.0-SNAPSHOT:compile[INFO] |  +- com.bnq:auth_client:j