一 传递依赖实例
nage依赖于bge,shanji依赖于nage
bge的pom.xml文件
<project xmlns="http://maven.apache.org/POM/4.0.0"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
<modelVersion>4.0.0</modelVersion>
<groupId>com.hongxing</groupId>
<artifactId>hongxing-bge</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>hongxing-bge</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
nage的pom.xml文件
<project xmlns="http://maven.apache.org/POM/4.0.0"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
<modelVersion>4.0.0</modelVersion>
<groupId>com.hongxing</groupId>
<artifactId>hongxing-nage</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>hongxing-nage</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.hongxing</groupId>
<artifactId>hongxing-bge</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
</project>
shanji的pom.xml文件
<project xmlns="http://maven.apache.org/POM/4.0.0"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
<modelVersion>4.0.0</modelVersion>
<groupId>com.hongxing</groupId>
<artifactId>hongxing-shanji</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>hongxing-shanji</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.hongxing</groupId>
<artifactId>hongxing-nage</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
</project>
二 排除依赖实例
nage依赖于bge,shanji只依赖于nage
bge和nage的pom.xml文件不变
shanji的pom.xml文件
<project xmlns="http://maven.apache.org/POM/4.0.0"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
<modelVersion>4.0.0</modelVersion>
<groupId>com.hongxing</groupId>
<artifactId>hongxing-shanji</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>hongxing-shanji</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.hongxing</groupId>
<artifactId>hongxing-nage</artifactId>
<version>0.0.1-SNAPSHOT</version>
<exclusions>
<exclusion>
<groupId>com.hongxing</groupId>
<artifactId>hongxing-bge</artifactId>
<version>0.0.1-SNAPSHOT</version>
</exclusion>
</exclusions>
</dependency>
</dependencies>
</project>
相关推荐
Maven依赖管理遵循“传递性”原则,即如果你的项目依赖A库,而A库又依赖B库,Maven会自动将B库也一并引入。这大大简化了项目的构建过程,但同时也可能导致依赖冲突,需要通过排除机制或调整依赖版本来解决。 在`...
六、Maven依赖传递和依赖冲突 1. Maven依赖传递特性 Maven会自动处理项目的依赖及其依赖的依赖,称为依赖传递。 2. Maven依赖冲突特性 当不同依赖引入了相同但不同版本的库时,会产生依赖冲突。Maven遵循“nearest ...
Maven依赖库是开发Java应用程序时不可或缺的资源,它包含了各种常用的jar包,这些包提供了丰富的功能,涵盖了数据处理、网络通信、XML解析等多个领域。在本文中,我们将深入探讨maven_repository.zip压缩包中的几个...
依赖范围(scope)是Maven依赖管理的一个重要概念。scope定义了依赖项的使用范围,主要有以下几个选项:compile、provided、runtime和test。compile表示依赖项在编译时需要,provided表示依赖项在编译和测试时需要,但...
【Maven的依赖验证项目】是一个关于Maven项目管理和依赖管理的实践案例,它与CSDN博主songdeitao的一篇文章《Maven依赖管理详解》相关联。在这个项目中,我们将深入理解Maven如何处理项目的依赖关系,以及如何有效地...
以下是ojdbc8的Maven依赖配置示例: ```xml <groupId>com.oracle.ojdbc</groupId> <artifactId>ojdbc8 <version>19.7.0.0 <scope>compile ``` 这里,`groupId`是`com.oracle.ojdbc`,`artifactId`是`...
使用Maven核心概念介绍(坐标、依赖、仓库、插件、生命周期等)、Maven与第三方Elicpse整合及如何在Eclipse中使用Maven、什么是私服、Maven为什么...任亮系列-maven依赖传递和可选依赖和排除依赖.mp41313.任亮系列-mav
综上所述,这个Maven项目配置了一系列关键的依赖库,旨在构建一个功能完善的Web服务客户端。通过对这些依赖的详细了解,可以帮助开发者更好地理解和维护项目,同时也有助于进一步扩展项目功能。
标题"maven依赖包"暗示了我们正在讨论的是Maven如何处理项目的外部依赖。在Java应用开发中,项目通常会依赖许多第三方库,如Spring、Hibernate、Apache Commons等。Maven的中央仓库存储了大量的开源项目JAR包,...
**二、Maven依赖原则** Maven的依赖原则主要为了解决多个依赖之间的版本冲突问题,它遵循两个基本规则: 1. **路径最短优先原则**:当两个不同版本的相同依赖出现在依赖树中,Maven会选择路径较短的那个版本。例如...
Maven依赖管理遵循“传递性”原则,即项目可以直接依赖其他项目,间接依赖也会被自动引入。当出现相同类路径的冲突时,Maven会遵循“第一声明者优先”原则,即先声明的依赖版本优先。 2. **排除依赖(Exclusions)...
#### Maven依赖传递 依赖传递是指当项目依赖某个库时,这个库所依赖的其他库也会被自动加入到项目的构建路径中。例如,spring-webmvc依赖了spring-beans,那么spring-beans也会被加入到项目中。 #### Maven依赖冲突...
### Maven依赖本地JAR包的方法 #### 1. 使用`<systemPath>`标签 Maven提供了`<scope>system</scope>`这一特殊作用域,用于指定本地文件系统上的特定路径,以便在构建过程中引用这些路径下的JAR文件。这种方式要求...
在这个名为"Maven依赖包(用于博客项目)v2"的压缩包中,我们可以推测它包含了为一个博客项目准备的特定Maven依赖库。 Maven依赖管理的核心在于它的`pom.xml`文件,这是一个项目对象模型(Project Object Model)的...
#### Maven依赖传递 依赖传递是指,当项目A依赖于项目B,而项目B又依赖于项目C时,项目A也会间接依赖于项目C。这种传递性可以帮助减少配置的复杂度,但同时也可能导致版本冲突。Maven通过一定的规则来处理这些冲突...
总的来说,解决Maven依赖冲突需要理解其工作原理,结合IDEA提供的工具,如Maven Helper插件和依赖结构图,可以有效地定位和排除冲突,保持项目的稳定性和可维护性。在实际开发中,避免引入不必要的依赖和定期清理...
2. **理解依赖传递性**:Maven会自动处理依赖的依赖,但可能会导致依赖冲突,需要通过 `<exclusions>` 标签排除不需要的子依赖。 3. **管理本地仓库**:定期清理无用的旧版本依赖,避免仓库过大影响性能。 4. **使用...
规则用于处理传递Maven依赖项。 这里的“专家”一词是指“专家工件”,而不是工具“ mvn”。 此仓库利用gradle协助进行传递依赖项管理,因此提供了徽标参考。 规则 名称 描述 加载此仓库的依赖项。 声明一个外部...