1. Maven 高级
2. 分模块开发与设计
- 将与当前层无关的内容清除掉
- 在pom.xml将另外层的导入坐标
- compile 预编译一下 是否出错
- 然后install 打包成坐标
3. 聚合
当一个工程构建 其他分模块的工程都会跟随着构建
在主工程管理 中的pom.xml
<!-- 定义该工程用于进行构建管理-->
<packaging>pom</packaging>
<!-- 管理工程的列表-->
<modules>
<!-- 具体的工程名称-->
<module>../ssm_dao</module>
<module>../ssm_pojo</module>
<module>../ssm_service</module>
<module>../ssm_controller</module>
</modules>
4. 继承
在父工程中 定义 声明依赖
<dependencyManagement>
<!-- 所有的依赖包-->
<dependencies>
</dependencies>
</dependencyManagement>
插件继承
<pluginManagement>
<plugins></plugins>
</pluginManagement>
在子工程的pom 中定义父工程
<parent>
<groupId>com.itheima</groupId>
<artifactId>springmvc_validator</artifactId>
<version>1.0-SNAPSHOT</version>
<!-- 父工程的pom文件-->
<relativePath>../ssm/pom.xml</relativePath>
</parent>
在子工程所有的依赖只有父工程有的 都可以不写版本号
5. 属性
定义属性
<!-- 定义属性-->
<properties>
<!-- 标签名为属性名 值为属性值-->
<spring.version>5.1.9.RELEASE</spring.version>
</properties>
使用属性
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<!-- 使用${属性名} 来获取值-->
<version>${spring.version}</version>
</dependency>
${version} 是maven内部提供的 当前pom工程的版本号 我们在继承
6. 版本管理
- snapshot(快照版本)
- release(发布版本)
7. 资源文件
在POM外的资源文件中使用定义好的属性值
定义属性
<!-- 定义属性-->
<properties>
<!-- 标签名为属性名 值为属性值-->
<jdbc.url>jdbc:mysql://localhost:3306/ssm_db</jdbc.url>
</properties>
开启资源配置加载 如果是test测试目录下的资源文件在<resource>
包含在内的标签前面都加上test
<build>
<resource>
<!-- 资源文件的路径-->
<directory>${project.basedir}/src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
在资源文件中引用
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=${jdbc.url}
jdbc.username=root
jdbc.password=123456
8. 多环境开发
不同环境使用定义好的多个属性值
<!--创建多环境-->
<profiles>
<profile>
<!-- 定义环境对应的唯一名称-->
<id>pro_eny</id>
<!--定义环境中专用的属性值-->
<properties>
<jdbc.url>jdbc:mysql://localhost:3306/ssm_db</jdbc.url>
</properties>
<!-- 默认环境 true为默认-->
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>dep_env</id>
<properties>
<jdbc.url>jdbc:mysql://localhost:3307/ssm_db</jdbc.url>
</properties>
</profile>
</profiles>
使用环境
mvn install -P 对应环境id
mvn install -P dep_env
9. 跳过测试
- 在IDE的Maven 中 把test 跳过
- 命令行 mvm install -D skipTests
10. 私服
Nexus
https://help.sonatype.com/repomanager3/download
运行bin下的nexus
nexus /run nexus
启动完成后 localhost:8081
10.1. 私服资源获取
10.2. 资源发布
或者IDA中 maven的 deploy
id对应本地的maven对应servers的username和password