maven高级
继承 通过关键字-parent 子模块继承父类所有的依赖配置,属性,版本号等。
聚合 maven 进行构建的时候,会根据模块之间的依赖关系,自动完成构建(先打包),最后所有的模块都聚合成了一个jar(分布式相关的框架,就得使用maven聚合的特点)
maven核心功能:依赖管理,项目构建
项目构建:一个项目拥有众多maven模块,这里面就蛇蛇了maven的继承和聚合
使用maven的继承和聚合可以对一个集成式的项目进行拆分,拆分成若干个模块,多个模块继承父工程。
创建一个项目我叫xiupeilian-parent,把src删掉,因为父工程主要做一些核心配置
既然删掉了,更改打包方式为pom
<!--打包方式充当配置,可以对所有子模块进行依赖和插件的统一管理-->
<packaging>pom</packaging>
使用,进行管理依赖,指定今后该工程下所有的子工程使用哪些依赖。
<dependencyManagement>
记得指定编码
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>GBK</encoding>
</configuration>
</plugin>
</plugins>
</build>
接下来创建子模块
new 模块
这样会创建一个子模块,修改pom的打包方式为jar,parent集成父工程,接下来约束依赖dependencies
都是这个方法,那么来。
第一个公共模块
包含什么呢?
不包含mapper文件,不包含service实现类,打成jar包
<packaging>jar</packaging>
**
第二个Dao(mapper接口)
打包方式 jar
<packaging>jar</packaging>
那么dao接口放什么呢?mapper.xml文件,jdbc文件,mybatis文件
第三个service层
打包方式 jar
<packaging>jar</packaging>
那么service层都需要什么呢?
缓存配置,service实现类,
redis.properties,spring-cache.xml,spring-redis.xml
包名错了,小写。。。低级错误,看见红不要怕,编译器没有识别过来。用maven-install一下就可以了。
第四个controllter层(web)
打包方式war
<packaging>war</packaging>
那么controller有什么呢?