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>聚合子模块。