maven 排除间接依赖

由于maven2.x会传递解析依赖,所以很有可能一些你不需要的依赖也会包含在工程类路径中。例如,一些你依赖的工程可能没有正确的声明它们的依赖集。为了解决这种特殊情况,maven2.x已经引入了显式排除依赖的概念。排除是设置在pom中指定的依赖上,并且有指定的groupId和artifactId来标注。当你构建工程时,该物件不会像解析加载依赖一样被加载到你工程的类路径中。

<dependency>
    <groupId>com.alibaba.external</groupId>
    <artifactId>sourceforge.spring</artifactId>
    <version>2.0.1</version>
    <exclusions>
        <exclusion>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        </exclusion>
    </exclusions>
</dependency>

上述配置应用依赖spring包,但是将spring依赖的slf4j-log4j12排除在本应用之外,即本应用不依赖slf4j-log4j12这个jar包。

时间: 2024-11-08 23:01:52

maven 排除间接依赖的相关文章

Maven依赖传递、依赖传递排除、依赖冲突

转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6628429.html  一:Maven依赖传递 假如有Maven项目A,项目B依赖A,项目C依赖B.那么我们可以说 C依赖A.也就是说,依赖的关系为:C->B->A. 那么我们执行项目C时,会自动把B.A都下载导入到C项目的jar包文件夹中. 这就是依赖的传递性. 二:依赖传递的排除 如上,C->B->A.加入现在不想执行C时把A下载进来,那么我们可以用 <exclusions>标

工作积累(十)——maven排除相关jar包依赖

在 maven 工程中引用到了一个 jar 包 commons-io-2.4.jar,由于被引用的 jar 包依赖 hibernate-jpa-2.0-api ,而 hibernate-jpa-2.0-api 存在 bug ,会报出 Error: java.lang.NoSuchMethodError:javax.persistence.JoinColumn.foreignKey()Ljavax/persistence/ForeignKey; 或 java.lang.NoSuchMethodEr

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

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

maven打包将依赖和配置外置的配置方式

注意,如果是依赖了本地公用项目,需要将本地公用项目通过mvn install安装到本地maven仓库: 将项目依赖的jar包外置到主jar包所在目录的lib目录,resources文件外置到主jar包所在目录的配置: <build> <resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> <

(二)Maven 基本概念——依赖、生命周期、仓库管理、聚合&amp;继承

1. 依赖配置 1.1 依赖配置主要包含如下元素: <!--添加依赖配置--> <dependencies> <!--项目要使用到junit的jar包,所以在这里添加junit的jar包的依赖--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.9</version> <

Maven实战07_依赖

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

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

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

MAVEN 排除第三方jar

1 <!-- war包 打包时排除jar包或者文件 支持正则表达式 --> 2 <plugin> 3 <groupId>org.apache.maven.plugins</groupId> 4 <artifactId>maven-war-plugin</artifactId> 5 <version>2.4</version> 6 7 <configuration> 8 <warName>