本教程是使用Idea下使用spring initializr去搭建Maven工程多项目,也是搭建SpringCloud的多项目教程
1.搭建父项目
1.1首先在建立一个空的文件目录(选择性可以建也可以不建)
1.2可以看到空文件夹的路径
1.3接下来开始搭建父工程 file--New--Module...
1.4Group是你的域名,Artifact是你的项目名,Type选择POM
1.5依赖页面,本次就跳过,直接下一步
1.6可以看到下图你的项目保存的路径
1.7可以看到项目建好了
1.8在父类的pom.xml文件加入
<packaging>pom</packaging>
2.建立子项目
2.1 选中父项目右键---New--Module....
2.2看图操作
2.3直接跳过依赖选择下一步,就可以路径,注意了,改好了再点击finish
2.4打开springcloud-api-member-service-impl项目进入pom.xml文件进行修改
把原来的多余依赖删了,只保留这些
2.5打开springcloud-parents下的pom.xml文件添加子项目
这样父子项目搭建完成了
3.项目直接的调用
3.1请你按照第二步建立一个新的项目springcloud-api-order-service-impl
3.2建立好记得修改父的pom和子的pom文件
3.3建立好的视图
3.4,假如springcloud-api-order-service-impl要引用springcloud-api-member-service-impl
只需要在springcloud-api-order-service-impl的pom.xml文件引入依赖就可
4.总结
附上pom文件
1.父项目springcloud-parents的pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<!--标注为父项目pom-->
<groupId>cn.phlos</groupId>
<artifactId>springcloud_parents</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>springcloud_parents</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<!--添加子项目-->
<modules>
<module>springcloud-api-member-service-impl</module>
<module>springcloud-api-order-service-impl</module>
</modules>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
2.子项目springcloud-api-member-service-impl的pom.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>cn.phlos</groupId>
<artifactId>springcloud_parents</artifactId>
<version>0.0.1-SNAPSHOT</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<artifactId>springcloud-api-member-service-impl</artifactId>
</project>
3.子项目springcloud-api-order-service-impl的pom.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>cn.phlos</groupId>
<artifactId>springcloud_parents</artifactId>
<version>0.0.1-SNAPSHOT</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<artifactId>springcloud-api-order-service-impl</artifactId>
<dependencies>
<dependency>
<groupId>cn.phlos</groupId>
<artifactId>springcloud-api-member-service-impl</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
</project>
PS:父子的工程搭建完成了,就这么简单
题外:
1.在父项目下,子项目想要使用另一个子项目的内容,就在当前子项目的pom文件引入该子项目的依赖就可以
2.在总父项目下还有父1项目,父1项目也是按照上面的操作引入总父的依赖,父1的pom里就按照总父项目引入其下的子项目
如图项目架构