Maven高级功能【精通】
- Maven可以依赖自定义的模块
<!--导入资源文件pojo-->
<dependency>
<groupId>com.itheima</groupId>
<artifactId>ssm_pojo</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
-
模块聚合:作用是便于批量进行项目的打包等操作
-
模块继承:统一管理子项目的资源
-
子父项目搭建
- 父
<packaging>pom</packaging>
- 子
<parent> <groupId>com.itheima</groupId> <artifactId>springmvc_ssm</artifactId> <version>1.0-SNAPSHOT</version> </parent>
- 子父项目的功能继承
- 可继承的资源
-
* 子项目可以选的
* dependencyManagement:工作中一般用于统一子项目的依赖版本
* pluginManagement
* 子项目必定继承
* dependencies
* plugins
* 不可继承的资源
* artifactId
* 属性:简化我们的配置过程
* 定义【**每个项目的父工程必须导入一下三个属性**】
```xml
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<属性名称>属性值</属性名称>
</properties>
```
* 6类属性
* 自定义属性
* 内置属性,project
* 系统属性,mvn help:system
* 环境变量,mvn help:system
* Setting属性,settings
* 插件属性(指maven的插件)
* 资源的复制resources
```xml
<resources>
<resource>
<!-- 在复制的资源文件中替换Maven的属性值 -->
<filtering>true</filtering>
</resource>
</resources>
```
* 多环境变量的配置
* prod:生产
* test:测试
* dev:开发
* 把properties的内容独立到文件中
```xml
<build>
<filters>
<filter>maven_prod.properties</filter>
</filters>
</build>
```
Jar版本规划【了解】![在这里插入图片描述](https://img-blog.csdnimg.cn/20200728151942678.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xQXzUzNzE=,size_16,color_FFFFFF,t_70)
Maven的跳过测试的方法【熟悉】
-
mvn 指令 -D skipTests -DskipTests=true
-
插件配置,maven-surefire-plugin
-
属性跳过 maven.test.skip
-
mvn 指令 -Dmaven.test.skip=true
Maven 的常用指令【掌握】
- 输出完整的错误信息,mvn clean -X package
- 上传jar到私服 mvn deploy
- 下载
<repositories>
<repository>
<id>nexus</id>
<name>internal nexus repository</name>
<url>http://repo.maven.apache.org/maven2</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
-
上传
-
私服的仓库分类
- 仓库组:仓库的统一访问入口
- 宿主仓库:存储私服自己的jar包
- 代理仓库:代理请求转发到中央仓库,进行下载
- 仓库组:仓库的统一访问入口