-
Maven
是项目管理工具,作用:项目构建、依赖管理 -
POM
,(Project Object Model),项目对象模型 -
apache-maven-3.9.4\boot\plexus-classworlds-2.7.0.jar
:Maven的类加载器 -
Maven基础概念
-
仓库
- 放各种jar包
-
仓库的分类
- 本地仓库:计算机本地
- 远程仓库:非本机的仓库,为本地仓库提供jar包
- 中央仓库(https://mvnrepository.com)
- 私服
-
私服的作用
- 保存具有版权的资源
- 一定范围内共享资源,仅对内部开放
-
坐标
- 组成
- groupId:定义当前maven资源隶属组织名称,通常是域名反写
- artifactId:定义当前maven资源名称
- version:定义资源版本号
- snapshot结尾:开发版本
- release结尾:完成版本
- packaging:定义该资源打包方式
- 作用:给maven定位资源用的,通过该标志可以将资源的识别和下载交由机器完成
- 组成
-
配置
- 本地仓库位置(可选,有默认位置)
- 远程仓库配置
- 镜像仓库配置
-
<mirror> <id>nexus-aliyun</id> <mirrorOf>central</mirrorOf> <name>Nexus aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public</url> </mirror>
-
- 镜像仓库配置
-
Maven工程一
- 工程目录结构
- 创建
src\main\java
、src\main\resource
、src\test\java
和src\test\resource
目录结构 - 创建src文件夹同级的
pom.xml
文件<modelVersion>4.0.0</modelVersion>
:POM模型版本号为4.0.0
- 创建
- 构建命令,一次性可以执行多个命令,多个命令之间用逗号分隔
- mvn compile: 编译
- mvn clean: 清理
- mvn test: 测试
- mvn package: 打包
- mvn install: 安装到本地仓库
- 插件创建工程
-
mvn archetype:generate -DgroupId={myGroupId} -DartifactId={myActifactId} -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
-
-
依赖管理
- 依赖配置
- 依赖传递
- 依赖传递冲突问题
- 路径优先
- 当依赖中出现相同的资源时,层级越深,优先级越低
- 声明优先
- 当资源在相同层级被依赖时,配置顺序前的覆盖后面配置的
- 特殊优先
- 当同级配置了相同资源的不同版本,后配置的覆盖先配置的
- 路径优先
- 依赖传递冲突问题
- 可选依赖
- 对外隐藏所依赖的资源
-
<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <optional>true</optional> </dependency>
- 排除依赖
- 依赖范围
- 依赖的jar理论上了来说可以在任何地方使用,可通过scope标签设定其作用范围
- 作用范围
- 依赖范围
-
生命周期与插件
待补充
标签:maven,依赖,配置文件,src,仓库,Maven,mvn From: https://www.cnblogs.com/bwqueen/p/17665798.html