在项目的开发中,随着项目的开发越来越多,也会遇上一些问题,开发一个接口服务,和一个后台,
如果写到一个项目里面,每次更新后台,接口的服务就会停,如果分成两个项目,那么如果遇上字段变更,不就得两个项目分别加字段,
于是这里就到了聚合工程的好处了.一个父工程下,管理子模块.子项目之间可以相互调调用,把通用的放在一个独立的项目中.供后台和接口服务通用
第一步:创建一个父工程,
删除其他的东西,保留pom.xml就够了
第二步:创建子模块,
如果只是创建通用模块,如common的时候,可以直接创建maven项目,会直接有父子结构,
这里创建四个项目
s_api -> spring Initializr 创建
s_common -> maven 创建
s_web -> spring Initializr 创建
s_core -> spring Initializr 创建
第三步:
修改父工程()的pom.xml文件
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
pom
org.springframework.boot
spring-boot-starter-parent
2.2.2.RELEASE
com.parent
s_parent
0.0.1-SNAPSHOT
s_parent
Demo project for Spring Boot
s_common
s_web
s_core
s_api
1.8
mysql
mysql-connector-java
5.1.42
com.github.pagehelper
pagehelper
4.0.0
org.springframework.boot
spring-boot-maven-plugin
修改子模块,继承子父模块,本身的xml里面引用本项目的需要的jar就行,默认继承父工程的pom,所以父工程里面包,子工程可以直接引用.
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
com.parent
s_parent
0.0.1-SNAPSHOT
com.web
s_web
0.0.1-SNAPSHOT
s_web
Demo project for Spring Boot
1.8
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter
org.springframework.boot
spring-boot-starter-test
test
org.junit.vintage
junit-vintage-engine
org.springframework.boot
spring-boot-maven-plugin
这里测试下引用是否正常,在父项目中引入s_common,然后在继承项目中进行调用,如果能调用成功,说明子项目继承父项目的引用.
父项目在pom.xml中引入.
运行项目:
到这里,基本的聚合工程创建完毕.