Maven的传递性、排除依赖、生命周期、插件

一、Maven的传递性

蓝色背景中的两个jar包是projectA的直接依赖,其余的Jar包是projectA的间接依赖。

projectA可以使用直接依赖,也可以使用间接依赖。

maven-projectB项目引入了maven-projectC(整个项目打成了jar包)和junit两个jar包。

maven-projectA项目引入了maven-projectB(整个项目打成了jar包)和commons-io两个jar包。

测试:

程序中引入maven-projectA jar包, 此时,可以看到,间接依赖的Jar包都可以使用。

如上,使用了Junit中的注解。

二、排除依赖

如上,只要标明依赖名和组织名,不需要写版本,添加后,点击刷新,此依赖就排除了。

可以看到,此处没有 commons-io依赖了。同理,如果要排除Junit,也只要在当前工程中,exclusion即可。

小结:无论是要排除某Jar包中直接依赖还是间接依赖,都只需在引入该Jar包的工程pom文件中排除即可。

三、依赖的范围

设置依赖可以使用的范围。

常用的是compile,此时也可以不写<scope>了,就是默认。

如上所示,限定Junit只能在test范围内使用。

四、maven项目的生命周期

生命周期分为三段,细分如上,重要的为已标红的5个阶段:

双击生命周期中的package,会在target目录中生成对应的jar包文件。

相关推荐
躺平大鹅1 小时前
Java面向对象入门(类与对象,新手秒懂)
java
初次攀爬者2 小时前
RocketMQ在Spring Boot上的基础使用
java·spring boot·rocketmq
花花无缺2 小时前
搞懂@Autowired 与@Resuorce
java·spring boot·后端
Derek_Smart4 小时前
从一次 OOM 事故说起:打造生产级的 JVM 健康检查组件
java·jvm·spring boot
NE_STOP5 小时前
MyBatis-mybatis入门与增删改查
java
孟陬8 小时前
国外技术周刊 #1:Paul Graham 重新分享最受欢迎的文章《创作者的品味》、本周被划线最多 YouTube《如何在 19 分钟内学会 AI》、为何我不
java·前端·后端
想用offer打牌8 小时前
一站式了解四种限流算法
java·后端·go
华仔啊9 小时前
Java 开发千万别给布尔变量加 is 前缀!很容易背锅
java
也些宝9 小时前
Java单例模式:饿汉、懒汉、DCL三种实现及最佳实践
java