架构设计

pom文件类型(packing):

        jar类型是默认的类型,内部调用或用作服务;

        war类型是需要打包的模块;

        父模块是pom类型。

        子模块继承父模块时 如果不想引用父模块所有的依赖,可以用dependencyManager标签包裹父模块依赖 子模块需要用到父模块哪些依赖可以再次引入 无须声明版本号


guli_parent项目:

        父模块为pom类型,使用spring initializr创建,父模块pom文件中定义了依赖版本号和使用<dependencyManagement>依赖管理;使用<modules>聚合子模块

        子模块pom文件类型默认使用jar,使用maven创建,引用父模块定义的依赖,默认使用父模块定义的版本。子模块的<parent>标签定义父模块的<artifactId>、<groupId>、<version>等,默认子模块的<groupId>与父模块一致。


guli_mail项目:   

        父模块使用spring initializr创建,删除了<parent>标签内容,使用pom类型,只<modules>聚合服务;

        子模块使用spring initializr创建,使用jar类型,父标签<parent>内容默认,引入公共服务模块common,使用common中一定的版本号,子模块中的<groupId>与父模块一致;

        公共服务子模块common,使用maven创建,默认类型为jar,公共服务子模块的<parent>标签定义父模块的<artifactId>、<groupId>、<version>等。默认子模块的<groupId>与父模块一致。定义了依赖版本号和公共依赖。


JSCMCC项目:

        父模块使用maven创建,使用pom类型,定义了依赖版本号和相关依赖。使用<modules>聚合子模块。

        am-hosting子模块使用maven创建,文件类型是pom,使用<modules>聚合子子模块。

        am-hosting-web使用maven创建,文件类型是war,大部分引用了顶层模块定义的依赖和版本号。


JSCMCC项目重构计划:

    计划1:

        父模块使用 spring initializr创建,文件类型为pom,定义依赖和版本号。使用<modules>聚合子模块。