一、分模块开发设计


1、模块拆分思想

①以前我们做一个项目都是通过三层架构的结构设计,把我们的表现层,业务层和数据层全部拆开来做成这种分包的形式,本质上还是一个项目(这种一般是个人开发才做的,企业开发并不会如此做);②现在开发的模式,都是把表现层,业务层和数据层单独作为一个项目来开发,即将当初一个包的内容给拆分成一个项目,使得我们将项目进行了模块划分;③模块与模块之间仅靠接口来联系,使得以后在企业里面,每个人只需要负责其各自的模块进行开发;④主模块里面什么都不放(只有个pom文件),而所有的功能做成独立的模块,所有的模块之间进行合作来完成我们的整个工程。

2、演示项目准备:springmvc_ssm项目,简介(PS:这儿的内容过于简单,没必要具体操作,阅览即可)


a.pojo模块拆分

Maven高级学习笔记_maven

  1. 导包

Maven高级学习笔记_maven_02

  1. 创建maven项目

Maven高级学习笔记_maven_03

  1. 删除多余文件

Maven高级学习笔记_maven项目_04

  1. 拷贝对应内容

Maven高级学习笔记_maven项目_05

  1. 编译

Maven高级学习笔记_maven_06

b.dao模块拆分

Maven高级学习笔记_maven项目_07

  1. 创建maven项目

Maven高级学习笔记_ide_08

  1. 拷贝所需要的内容

Maven高级学习笔记_maven_09

  1. 分析报错问题

Maven高级学习笔记_maven_10

  1. 解决报错问题

一次性拷贝原始pom文件中的内容,然后进行删除

Maven高级学习笔记_maven项目_11


Maven高级学习笔记_maven项目_12


Maven高级学习笔记_ide_13

Maven高级学习笔记_ide_14

Maven高级学习笔记_maven_15


Maven高级学习笔记_maven项目_16

Maven高级学习笔记_ide_17

Maven高级学习笔记_maven项目_18

Maven高级学习笔记_maven项目_19


注意:

分模块形式开发以后,所有的东西都是资源,自己做的或者别人做好的都属于资源,使用的方法就是导入其资源坐标即可!!!

Maven高级学习笔记_maven项目_20

  1. 编译报错原因:

报错解析【pojo没有被找到】,是因为你在进行操作的时候是在idea下操作的,假如我们不用idea是不是maven就不能用?答案是否定的,那么假如没有idea在此处显示这两个项目的话(dao和pojo),maven找资源会去哪里找?答案自然是仓库啦,但是现在仓库下空空如也,自然就找不到pojo了;

Maven高级学习笔记_maven项目_21

  1. 解决编译报错问题

Maven高级学习笔记_maven_22

Maven高级学习笔记_maven项目_23

Maven高级学习笔记_maven_24


结论:

当我们编译整个工程的时候,要保证仓库中所依赖的所有资源全部都有,不过因为现在的资源是自己自定义的,所以需要手动进行insatll操作;

  1. 修改applicationContext内容

Maven高级学习笔记_maven_25

Maven高级学习笔记_maven_26

Maven高级学习笔记_maven项目_27

Maven高级学习笔记_maven_28

c.service拆分

Maven高级学习笔记_ide_29

  1. 创建maven项目

Maven高级学习笔记_ide_30

  1. 拷贝所需要的内容

Maven高级学习笔记_maven_31

  1. 解决报错问题

Maven高级学习笔记_maven项目_32

Maven高级学习笔记_maven项目_33

Maven高级学习笔记_maven项目_34


Maven高级学习笔记_ide_35

Maven高级学习笔记_ide_36

Maven高级学习笔记_maven_37

  1. 修改applicationContext.xml中的内容,并重新命名

Maven高级学习笔记_maven_38

Maven高级学习笔记_maven项目_39

Maven高级学习笔记_maven_40

  1. 将dao编译后安装,执行

Maven高级学习笔记_maven项目_41

Maven高级学习笔记_maven_42

  1. 修改测试阶段xml文件并将测试类加载的文件进行替换

Maven高级学习笔记_ide_43

Maven高级学习笔记_ide_44

Maven高级学习笔记_maven_45


Maven高级学习笔记_maven_46

  1. 执行

该过程不会涉及到test测试的打包,因为test只用于测试环境的,而不参与打包;

Maven高级学习笔记_maven_47

d.controller拆分

Maven高级学习笔记_ide_48

  1. 创建maven项目

Maven高级学习笔记_maven项目_49


Maven高级学习笔记_maven项目_50

  1. 拷贝+删除以达到所需要的内容

Maven高级学习笔记_maven项目_51

Maven高级学习笔记_ide_52

Maven高级学习笔记_ide_53

Maven高级学习笔记_maven项目_54

Maven高级学习笔记_maven项目_55

Maven高级学习笔记_ide_56

  1. 更改web.xml中的内容(利用通配符)

Maven高级学习笔记_ide_57

  1. 新建项目并跑通

Maven高级学习笔记_ide_58

Maven高级学习笔记_ide_59

Maven高级学习笔记_maven_60

Maven高级学习笔记_maven_61

3、总结

Maven高级学习笔记_maven_62

二、聚合


1、模块聚合

Maven高级学习笔记_ide_63

Maven高级学习笔记_ide_64

Maven高级学习笔记_maven项目_65

Maven高级学习笔记_ide_66

Maven高级学习笔记_ide_67

Maven高级学习笔记_ide_68

Maven高级学习笔记_ide_69

Maven高级学习笔记_maven_70

2、总结

聚合本身也是一个模块,我们一般称其为聚合模块,它打包类型一定为pom。

Maven高级学习笔记_ide_71

三、继承


1、继承的作用和内容

Maven高级学习笔记_ide_72

Maven高级学习笔记_maven项目_73

Maven高级学习笔记_maven_74

Maven高级学习笔记_ide_75

Maven高级学习笔记_ide_76

Maven高级学习笔记_maven项目_77

Maven高级学习笔记_maven_78

Maven高级学习笔记_maven项目_79

2、继承步骤总结

Maven高级学习笔记_maven项目_80

Maven高级学习笔记_maven_81

Maven高级学习笔记_maven项目_82

Maven高级学习笔记_maven_83

3、继承与聚合的差别

Maven高级学习笔记_ide_84


四、属性


1、属性定义与使用

Maven高级学习笔记_ide_85

2、属性类别

Maven高级学习笔记_maven_86

a.自定义属性

Maven高级学习笔记_maven_87

b.内置属性

Maven高级学习笔记_ide_88


Maven高级学习笔记_ide_89

c.Setting属性

Maven高级学习笔记_ide_90

d.Java系统属性

Maven高级学习笔记_maven项目_91


Maven高级学习笔记_ide_92

e.环境变量属性

Maven高级学习笔记_ide_93


Maven高级学习笔记_ide_94

五、版本管理


1、工程版本区分

Maven高级学习笔记_maven项目_95


2、工程版本

Maven高级学习笔记_ide_96

3、工程版本号约定

Maven高级学习笔记_ide_97

六、资源配置

maven可以利用资源配置来进行大一统的管理,只要使用了它约定俗成的机制,回头将你需要管理的东西都加入到pom文件中,这样maven就可以替你管理,你只需要管理一个文件即可;

1、资源配置多文件维护

Maven高级学习笔记_maven项目_98

2、配置文件引用pom属性

Maven高级学习笔记_maven_99


Maven高级学习笔记_ide_100

Maven高级学习笔记_maven_101

Maven高级学习笔记_maven项目_102

Maven高级学习笔记_maven_103

Maven高级学习笔记_ide_104

Maven高级学习笔记_ide_105

Maven高级学习笔记_ide_106

七、多环境配置


1、为什么要用多环境配置

你在你的电脑上测试完以后,你到线上服务器(也就是生产环境中,其中的配置是不是又得更改),也就是说,你每次项目上线,都需要去改动其中的配置那岂不是很麻烦,因此你需要让你的项目能够适应多种环境,不要没事去改你自己的配置;

Maven高级学习笔记_maven_107

2、多环境配置

Maven高级学习笔记_ide_108

Maven高级学习笔记_maven_109


3、加载指定环境

Maven高级学习笔记_maven项目_110


Maven高级学习笔记_maven_111

Maven高级学习笔记_maven项目_112

Maven高级学习笔记_maven项目_113

八、跳过测试(了解)

Maven高级学习笔记_maven项目_114

1、通过界面操作跳过测试

Maven高级学习笔记_maven_115


Maven高级学习笔记_maven_116

2、通过命令跳过测试

Maven高级学习笔记_maven_117

Maven高级学习笔记_ide_118

Maven高级学习笔记_ide_119

3、通过配置跳过测试(一般别用)

Maven高级学习笔记_ide_120


Maven高级学习笔记_maven_121

4、扩展

a.还可以进行包含和排除测试操作

Maven高级学习笔记_maven项目_122

Maven高级学习笔记_maven项目_123

九、私服


1、Nexus安装、启动与配置

Maven高级学习笔记_ide_124

Maven高级学习笔记_ide_125

Maven高级学习笔记_maven项目_126

Maven高级学习笔记_maven项目_127


Maven高级学习笔记_maven项目_128

Maven高级学习笔记_maven_129

Maven高级学习笔记_maven项目_130

2、私服资源获取

Maven高级学习笔记_maven_131


Maven高级学习笔记_maven_132

Maven高级学习笔记_ide_133

Maven高级学习笔记_maven项目_134

Maven高级学习笔记_maven项目_135

Maven高级学习笔记_maven项目_136

Maven高级学习笔记_maven项目_137

3、仓库分类

Maven高级学习笔记_maven_138

Maven高级学习笔记_maven_139

Maven高级学习笔记_maven项目_140

4、创建仓库并加入群组

Maven高级学习笔记_maven_141

Maven高级学习笔记_maven项目_142

Maven高级学习笔记_maven项目_143

Maven高级学习笔记_ide_144

Maven高级学习笔记_maven项目_145

5、上传以及删除项目

Maven高级学习笔记_maven项目_146

Maven高级学习笔记_maven_147

Maven高级学习笔记_ide_148

Maven高级学习笔记_maven项目_149

6、本地仓库访问私服

Maven高级学习笔记_maven项目_150

Maven高级学习笔记_maven_151

Maven高级学习笔记_maven项目_152

Maven高级学习笔记_ide_153

Maven高级学习笔记_maven_154

Maven高级学习笔记_maven_155


7、idea访问私服和组件上传

Maven高级学习笔记_maven_156

Maven高级学习笔记_maven_157

Maven高级学习笔记_maven项目_158

Maven高级学习笔记_ide_159

8、访问私服配置

Maven高级学习笔记_maven_160

Maven高级学习笔记_maven_161

9、总结(总体来说偏维护)

Maven高级学习笔记_maven_162