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.Driverjdbc.url=${jdbc.url}jdbc.username=rootjdbc.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
