maven相关
2021/8/7 6:07:48
本文主要是介绍maven相关,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一.父pom标签说明
构建管理声明:<packaging>pom</packaging>
管理的工程列表:<modules>
声明此处进行依赖管理:<dependencyManagement>
属性定义用于版本管理等:<properties>
<packaging>pom</packaging> <modules> <module>../maven-test</module> </modules> <properties> <fastjson>1.2.75</fastjson> </properties> <dependencyManagement> <dependencies> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>${fastjson}</version> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.16</version> <scope>compile</scope> </dependency> </dependencies> </dependencyManagement>
二.依赖管理
1、版本管理:
- SNAPSHOT(快照版本):测试阶段的版本
- RELWASE(发布版本):正式稳定的版本
2、依赖管理:
1.可选依赖:<optional></optional>:当别人饮用了你的该依赖时,<optional>true</optional>时该条依赖对外不透明
2.排除依赖:主动断开依赖的资源,被排除的资源无需指定版本。比如project-1依赖了project-2,projec-1中的fastjson和project-2中的fastjson存在冲突,则可在project-1的pom中声明(项目上测试过,排除后如果project-2依赖了该jar包,可能导致某些异常):
<dependency> <groupId>org.example</groupId> <artifactId>project-2</artifactId> <version>1.0-SNAPSHOT</version> <exclusions> <exclusion> <groupId>fastjson</groupId> <artifactId>fastjson</artifactId> </exclusion> </exclusions> </dependency> <dependency>
3.依赖传递:project-1依赖了projet-2(project-2依赖了project-3),project-1就拥有了project-2下的依赖.project-1和project-2就是直接依赖,project-1和project-3就是间接依赖
4.依赖传递的优先级
1、路径优先:层级越深,优先级越低
2、声明优先:当依赖在相同层级时,配置顺序靠前的覆盖配置顺序靠后的
3、特殊优先:例如引依赖时写了两次,那么后写的覆盖先写的
5.依赖范围:
依赖的jar默认情况可以在任何地方使用,开源通过<scope>标签配置该依赖的作用范围(可使用的范围)
scope | main | test | package |
compile(默认) | Y | Y | Y |
test | Y | ||
provided | |||
runtime | Y |
6.本地仓库访问私服settings.xml配置
<servers> <server> <id></id> id是自定义名称 <username></username> 用户名 <password></password> 密码 </server> </servers> <mirrors> <mirror> <id></id>私服名称 <mirrorOf>*</mirrorOf> 使用的都从这拿 <url></url> 私服的url </mirror> </mirrors>
这篇关于maven相关的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-26结对编程到底难不难?答案在这里
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)