Maven中的依赖相关总结
一.Maven的依赖作用域scope
- compile:编译、测试、运行都会依赖,会打进包中。
- rumtime:不存于编译,后期运行和测试都会参与,会打进包中。
- test:只在test classpath下
- provider:提供编译期使用,但是不会打进包中
- import:下面说到了子项目使用父项目的dependencyManagement,但是这种情况需要继承,但是在maven中也体现了面向对象的思想,只能继承一个。那么就无法对另一个依赖做依赖管理了。
maven提供了组合形式:import,可以将另一个依赖导入进来做依赖管理:example
super-parentexample
parent
org.springframework.boot
spring-boot-dependencies
${spring-boot.version}
pom
import那样无形中继承parent的子项目就可以对super-parent和spring-boot-dependencies的依赖分别做依赖声明了。表现上,就是parent项目继承了两个父项目,对super-parent和spring-boot-dependencies都做了依赖管理。
- system
二.可选的依赖传递optional
管理传递的依赖作用域的。默认情况下(无optional配置,即optional为false)时,maven都会进行依赖传递,即:A->B,B->C => A->C。但是有时候需要禁止这种依赖传递:
将optional设置为true,意为可选:
B->(optional)C,A/->C。如果A需要继续依赖C,则A显示指定依赖对C的依赖。
三.继承中的依赖管理dependencyManagement
用于子项目继承父项目时,子项目只要声明依赖即可。依赖的定义在父项目中的dependencyManagement管理即可!
Maven中的依赖相关总结的更多相关文章
- 【Maven】Maven中排除依赖、归类依赖、优化依赖
参考博文:Maven中排除依赖.归类依赖.优化依赖
- maven中把依赖的JAR包一起打包(转)
转自:http://lvjun106.iteye.com/blog/1849803 这里所用到的MAVEN-PLUGIN是MAVNE-ASSEMBLY-PLUGIN 官方网站是:http://mave ...
- 解决maven中某些依赖无法下载,手动安装Maven依赖
<!--先下载jar包,然后在仓库中手动安装,下面是遇到的两个例子--> <!--第一个--> mvn install:install-file -Dfile=D:\kaptc ...
- maven中把依赖的JAR包一起打包
<buizld> <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId ...
- Maven中解决依赖冲突的问题
1.短路优先:谁离得最近就使用谁的依赖jar包 C到达A为C->B->A C到达B为C->B 例如: A中的 commons-io的版本为2.4 B中的commons-io的版本为2 ...
- IDEA中快速排除maven中的依赖
选中该模块 点击show dependenties 切换试图 选中要排除的依赖,右击 选择Execlude,然后选择需要在哪个模块添加排除依赖 完成
- maven 中的依赖
- 项目开发中Maven的单向依赖-2022新项目
一.业务场景 工作多年,在真实的项目开发中经常会遇到将一个项目拆分成多个工程的情况,比如将一个真实的项目拆分成controller层,service层, dao层,common公共服务层等等.这样拆分 ...
- Maven中的pom.xml配置文件详解
原文:http://blog.csdn.net/u012152619/article/details/51485297 <project xmlns="http://maven.apa ...
随机推荐
- SpringBoot结合策略模式实战套路
1. SpringBoot结合策略模式实战套路 1.1. 前言 我们都知道设计模式好,可以让我们的代码更具可读性,扩展性,易于维护,但大部分程序猿一开始都学过至少一遍设计模式吧,实战中不知用到了几成. ...
- Mac OSX(Mac OS10.11) 安装 pwntools 失败的最新解决方案
pwntools是一个 CTF 框架和漏洞利用开发库,用 Python 开发,由 rapid 设计,旨在让使用者简单快速的编写 exploit. 网上针对 Mac OS 的安装教程大多都是基于 pip ...
- Properties类按顺序输出加载内容
Properties类按顺序输出加载内容 最近手写工厂的时候,遇到了加载配置文件时不按照properties文件中的数据的顺序来加载. 一.问题代码 import java.io.IOExceptio ...
- 【Mysql】初识MySQL
一. MySQL是客户端/服务器架构1)macOS操作系统上的默认安装目录:/usr/local/mysql/ 在MySQL的安装目录下有一个bin目录,这个目录下存放着许多可执行文件.2)将该bi ...
- linux 本地套接字通信
本地套接字通信 利用本地套接字,也可以进程间通信. 本地套接字和有名管道一样都利用伪文件 管道的文件类型是p 本地套接字的文件类型是s. 当调用bind函数后,就会生成本地套接字对应的伪装文件 srw ...
- Rust中的控制结构
fn main() { let number = ; { println!("condition was true"); } else { println!("condi ...
- VUE注册局部组件
// 局部组件命名规范 /* 1文件夹名大驼峰 MyLocalBtn.vue 2 使用的时候 将驼峰转化为横杠 <my-local-btn></my-local-btn> */ ...
- Selenium获取页面指定元素个数
测试需求: 获取页面中下拉框个数,并验证是否与预期个数一致 方法1:因下拉框的tagname属性值为select,可通过获取标签为select的元素来获取下拉框个数 List<WebElem ...
- zz致力于变革未来的智能技术
有 R-CNN SPPNet Fast R-CNN Faster R-CNN ... 的论文翻译 现在已经不能访问了... [私人整理]空间金字塔池化网络SPPNet详解 SPP-Net是出自 ...
- 洛谷p3385【模板】负环
最近很久没怎么写最短路的题导致这个题交了好多遍 AC率是怎么下来的自己心里没点数 SPFA虽然臭名昭著但是他可以用来判负环 如果一个点进队的次数大于等于n说明存在负环 这道题一开始memset我给di ...