在spring cloud系列章節中,原本已經寫了幾個章節了,可是本身看起來有些東西寫得比較雜,因此重構了一下springcloud的章節內容,新寫了本章節,先教你們在工做中如何搭建一個多模塊的springcloud項目。html
本章及後面章節,咱們使用的開發環境是 spring tool suite (sts) + maven (固然你也可使用IDEA + Gradle,目前使用的公司也不少)。java
1、新建一個父maven project模塊spring
File->new->other->maven->maven projectapache
記得勾選紅框,咱們僅僅只是須要該項目的pom.xml文件springboot
若是生成後,有src文件,咱們刪除該文件,只保留pom.xml文件架構
修改pom.xml文件內容app
<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 http://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.1.4.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.haly</groupId> <artifactId>springcloud</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>pom</packaging> <name>springcloud</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <spring-cloud.version>Greenwich.SR1</spring-cloud.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>${spring-cloud.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
注意: 不少同窗在搭建項目的過程當中,引入依賴時,pom文件老是報錯,這通常是springboot和springcloud的版本不一致形成。maven
這個系列全部章節,咱們使用的版本爲 springboot :2.1.4.RELEASE springcloud:Greenwich.SR1svn
咱們新建這個父工程後,發現它其實只有一個pom文件,沒有什麼業務功能,可是工做中咱們都會新建一個這樣的項目目錄,它的做用以下spring-boot
1. 工做中,咱們整個項目的名稱就是這個maven項目的名稱,在svn中拉取項目下,只要拉這個主工程的分支就好了。
2. 它的pom文件會定義爲父pom,後續的module工程能夠繼承該pom,因此不少module工程共用的配置,均可以放到這裏。
2、新建一個springcloud-eureka-server子模塊
選擇主項目springcloud,右鍵->Maven->new maven module project
生成項目目錄結構以下:
注意:有些同窗新建子項目完成後,項目的展現都是並排着,沒有展現出父子關係,須要調整一個展現形式,纔會出現上面的項目結構。
點擊上圖標紅的地方 -> projects Presentation - > Hierarchical
若是生成的springcloud-eureka-server模塊沒有resources目錄
springcloud-eureka-server上右鍵點擊項目-> new->Source Folder
3、新建一個springcloud-eureka-client子模塊
參考新建springcloud-eureka-server模塊的步驟,新增一個springcloud-eureka-client模塊
生成的項目結構以下:
這時,咱們去父項目springcloud中打開pom.xml文件,會發現自動增長了新建子模塊的引入
<modules>
<module>springcloud-eureka-server</module>
<module>springcloud-eureka-client</module>
</modules>
4、總結:
經過上面的步驟,咱們已經搭建好了一個多模塊的springcloud項目,可是這僅僅只是一個項目架構,若是須要運行起來,咱們還須要作以下三步
1. 修改子模塊的pom.xml文件,增長對應模塊功能須要的依賴包
2. 在src/main/resources目錄下,新增application.properties文件,配置項目的配置項
3. 在src/main/java目錄的com.haly包下,新增對應模塊的啓動類
如何運行多模塊springcloud項目,請看下一章節:一塊兒來學Spring Cloud | 第二章:服務註冊和發現組件 (Eureka)