- 1.分模块开发
- 2.依赖管理
- 依赖冲突:
- 可选依赖和排除依赖
- 3.聚合和继承
- 聚合
- 继承
- 3.属性
- 属性
- 4.多环境配置与应用
- 多环境开发
- 跳过测试
- 5.私服
(1) 创建Maven模块
(2) 书写模块代码
分模块开发需要先针对模块功能进行设计,再进行编码。不会先将工程开发完毕,然后进行拆分。拆分方式可以按照功能拆也可以按照模块拆。
(3)通过maven指令安装模块到本地仓库(install 指令)
依赖是具有传递性的
- 直接依赖
- 间接依赖
依赖冲突是指项目依赖的某一个jar包,有多个不同的版本,因而造成类包版本冲突。
-
情况一:特殊优先:当同级配置了相同资源的不同版本,后配置的覆盖先配置的。
-
情况二:路径优先:当依赖中出现相同的资源时,层级越深,优先级越低,层级越浅,优先级越高
-
情况三: 声明优先:当资源在相同层级被依赖时,配置顺序靠前的覆盖配置顺序靠后的
方案一:可选依赖
com.itheima maven_03_pojo 1.0-SNAPSHOT true
方案二:排除依赖
org.example maven04 1.0-SNAPSHOT log4j log4j
- A依赖B,B依赖C , C 通过依赖传递会被A 使用到,现在要想办法让A 不去依赖C
- 可选依赖是在B上设置 , A不知道有C 的存在,
- 排除依赖是在A上设置 , A 知道有C 的存在,主动将其排除掉。
所谓聚合:将多个模块组织成一个整体,同时进行项目构建的过程称为聚合
继承4.0.0 org.example maven01 1.0-SNAPSHOT pom ../maven02 ../maven03 ../maven04
所谓继承:描述的是两个工程间的关系,与java中的继承相似,子工程可以继承父工程中的配置信息,常见于依赖关系的继承。
org.example maven01 1.0-SNAPSHOT ../maven01/pom.xml
junit
junit
4.11
test
3.属性
属性
4.多环境配置与应用 多环境开发5.2.10.RELEASE 4.12 1.3.0
env_dep
jdbc:mysql://127.1.1.1:3306/ssm_db
true
env_pro
jdbc:mysql://127.2.2.2:3306/ssm_db
env_test
jdbc:mysql://127.3.3.3:3306/ssm_db
跳过测试
org.apache.maven.plugins maven-surefire-plugin 2.12.4 false **/BookServiceTest.java
- 使用Maven的命令行, mvn 指令 -D skipTests
itheima-release http://localhost:8081/repository/itheima-release/ itheima-snapshot http://localhost:8081/repository/itheima-snapshot/



