发表于: 2017-11-10 22:55:20
1 946
一.今日完成
本周把RMI和Spring RMI的原理,处理流程和实现方法等基础知识都梳理了一遍,但是真正把这些东西应用到学员注册和登录系统的过程中,遇到了一些新的待学习的操作.
1.Maven 的聚合与继承实现
(1)聚合是把多个模块或项目聚合到一起,以建立一个专门负责聚合工作的Maven project --- aggregator。
要注意以下几点:
1)该aggregator本身也做为一个Maven项目,它必须有自己的POM
2)它的打包方式必须为: pom
3)引入了新的元素:modules---module
4)版本:聚合模块的版本和被聚合模块版本一致
5)relative path:每个module的值都是一个当前POM的相对目录
6)目录名称:为了方便的快速定位内容,模块所处的目录应当与其artifactId一致(Maven约定而不是硬性要求),总之,模块所处的目录必须和<module>模块所处的目录</module>相一致。
7)习惯约定:为了方便构建,通常将聚合模块放在项目目录层的最顶层,其它聚合模块作为子目录存在。打开项目的时候,首先看到的就是聚合模块的POM
8)聚合模块减少的内容:聚合模块的内容仅仅是一个pom.xml文件,它不包含src/main/java、src/test/java等目录,因为它只是用来帮助其它模块构建的工具,本身并没有实质的内容。
9)聚合模块和子模块的目录:可以是父子类,也可以是平行结构,如果使用平行结构,那么聚合模块的POM也需要做出相应的更改。
(2)继承就是避免重复,maven的继承也是这样,另一个目的就是让项目更加安全
如何配置继承:
1)有继承说明项目是父子结构,那么在aggregator中来创建一个parent project
2)<packaging>: 作为父模块的POM,其打包类型也必须为POM
3)结构:父模块只是为了消除重复,所以它也不需要src/main/java、src/test/java等目录
4)新的元素:<parent> , 它是被用在子模块中的
5)<parent>元素的属性:<relativePath>: 表示父模块POM的相对路径,在构建的时候,Maven会先根据relativePath检查父POM,如果找不到,再从本地仓库查找
6)relativePath的默认值: ../pom.xml
7)子模块省略groupId和version: 使用了继承的子模块中可以不声明groupId和version, 子模块将隐式的继承父模块的这两个元素
(3)可被继承的POM元素
groupId:项目组ID,项目坐标的核心元素
version: 项目版本, 项目坐标的核心元素
description: 项目的描述信息
organization: 项目的组织信息
inceptionYear: 项目的创始年份
url: 项目的URL地址
developers: 项目开发者信息
contributors: 项目的贡献者信息
distributionManagement: 项目的部署配置
issueManagement: 项目的缺陷跟踪系统信息
ciManagement: 项目的持续集成系统信息
scm: 项目的版本控制系统信息
mailingLists: 项目的邮件列表信息
properties: 自定义的maven属性
dependencies: 项目的依赖配置
dependencyManagement: 项目的依赖管理配置
repositories: 项目的仓库配置
build: 包括项目的源码目录配置、输出目录配置、插件配置、插件管理配置等
reporting: 包括项目的报告输出目录配置、报告插件配置等.
(4)maven的依赖管理
dependencies是可以被继承的,增加一个新的元素:dependencyManagement.它既能够让子模块继承到父模块的依赖配置,又能保证子模块依赖使用的灵活性.
dependencyManagement的特性:在dependencyManagement中配置的元素既不会给parent引入依赖,也不会给它的子模块引入依赖,仅仅是它的配置是可继承的
子模块的POM继承这些配置:子模块继承这些配置的时候,仍然要声明groupId和artifactId,表示当前配置是继承于父POM的,从而直接使用父POM的版本对应的资源
(5)Maven的插件管理
再增加一个新的元素:<pluginManagement>,这个元素和<dependencyManagement>相类似,它是用来进行插件管理的。
2.因为参考了张鑫和于博涛师兄的日报,遇到的其他一些零碎的问题,师兄们都有很好的说明,所以基本可以解决,但是对一些地方的配置为什么要这样做还不大理解,准备先把任务做完,接下来再慢慢查资料整理.
二.明日计划
因为身体不适,申请明天请假一天.
三.遇到问题
暂无.
四.收获
以上.
禅道:http://task.ptteng.com/zentao/task-view-10402.html
计划今天在家学习,把任务8提交,开始做任务9.
任务9计划完成日期:11月14日.
评论