本教程是使用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裏就按照總父項目引入其下的子項目
如圖項目架構