maven 依赖的传递性
2024-08-31 05:59:20
1.如图我们有三个项目,项目Age,项目Bge,项目Cge
2.我们使Age项目依赖到Bge项目,Bge项目依赖到Cge项目
Age项目和Bge项目分别执行命令:mvn install 打包*.jar包,且放到本地仓库中
配置项目Bge的xml
<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">
<modelVersion>4.0.0</modelVersion> <groupId>com.imooc.Bge</groupId>
<artifactId>Bge</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging> <name>Bge</name>
<url>http://maven.apache.org</url> <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.imooc.Age</groupId>
<artifactId>Age</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency> </dependencies>
</project>
配置项目Cge的xml
<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">
<modelVersion>4.0.0</modelVersion> <groupId>com.imooc.Cge</groupId>
<artifactId>Cge</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging> <name>Cge</name>
<url>http://maven.apache.org</url> <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.imooc.Bge</groupId>
<artifactId>Bge</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
</project>
发现maven依赖如下图:
证实maven的依赖拥有传递性质!
3.阻止maven的依赖性如项目Cge中,不要出现项目Age,那么我们在项目Cge中配置pom.xml如下
项目Cge的xml配置如下:
<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">
<modelVersion>4.0.0</modelVersion> <groupId>com.imooc.Cge</groupId>
<artifactId>Cge</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging> <name>Cge</name>
<url>http://maven.apache.org</url> <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.imooc.Bge</groupId>
<artifactId>Bge</artifactId>
<version>0.0.1-SNAPSHOT</version>
<!-- 排除依赖 -->
<exclusions>
<exclusion>
<groupId>com.imooc.Age</groupId>
<artifactId>Age</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies> </project>
项目Cge编译后的效果如下:
最新文章
- 10个关于Java异常的常见问题
- zoj3882 博弈
- BZOJ2675 : Bomb
- [sso] 单点登录认证流程
- tomcat 内存溢出
- SQL:判断某些元素是否存在及创建的SQL语句
- (十三)学习CSS之两个class连一起隔空格和逗号
- dataset 用法(3)
- Java按钮设计
- IE6下的bug
- 非常简洁的js图片轮播
- QQ 自动接收远程连接之关闭了远程桌面
- 基于MATLAB搭建的DDS模型
- miller——rabin判断素数
- poj3273(二分)
- 1.开始学习ASP.NET MVC
- H5新特性实现对class的增删改
- Xcode5和6共存时,如何发布应用到商店
- bash: fork: Resource temporarily unavailable
- 英特尔&#174; 实感™ 前置摄像头 SR300 和 F200 的比较
热门文章
- Linux查看文件内容命令:more(转)
- android发送get请求时报错
- pod install fatal: unable to access &#39;https://chromium.googlesource.com/webm/libwebp/&#39;
- 最长公共子序列 nlogn
- hdoj--1281--棋盘游戏(最小点覆盖+枚举)
- 杂项-DB:OLAP(联机分析处理)
- [HTML5] 让IE支持HTML5的方法
- Python 生成requirement 使用requirements.txt
- BZOJ 4259 FFT
- POJ 1386 判断欧拉回路