多個SpingBoot專案的搭建與部署
最近幾年SpringBoot大熱,很多IT公司都開始採用SpringBoot來替換傳統的SpringMVC專案。那麼如何搭建一個適合開發的專案架構呢?
這裡我主要介紹Java程式設計師使用最多的兩種工具進行搭建:1、MyEclipse;2、ideal
MyEclipse
第一步:開啟MyEclipse,選擇File—>New—>Other,搜尋maven,點選next
第二步、選擇‘Create a simple project(skip archetype selection)’,點選next
第三步、填入‘Group Id’和‘Artifact Id’,注意這邊的‘Packaging’需要選擇pom,不能選擇jar或者war,然後點選Finish
這樣就建好了一個SpringBoot專案的管理中心,展開如下圖:
第四步、多個SpringBoot專案之間可能會有一些公用的部分,比如User這個實體類,所以要建立一個api專案為其他SpringBoot專案提供公用的類和方法
建立api專案如下:
選中cloud專案,右鍵點選開啟選單,選擇new—>other,搜尋module(注意這裡不是maven),點選next
跟上面建立cloud專案一樣,給該服務取名為cloud-api,點選Finish
這樣就建立好了cloud-api服務了,專案結構如下
第五步、依照上面建立cloud-api專案的方式,建立cloud-base-4000(基礎服務模組,4000指代當前服務對外的埠號,後面4001同理),cloud-operation-4001(運維管理模組)
專案結構如下:
這樣多個SpringBoot專案都在cloud這個專案下管理了,接下來要api服務被base服務與operation服務共享
第六步、在cloud-api中新建被其他服務共享的類User,專案結構如下圖:
這時在base服務呼叫api的User類會報錯並且無法匯入User類,如下圖(解決辦法請看第七步):
第七步、開啟base的pom.xml,在裡面加入api服務的依賴
<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>com.wlovet</groupId> <artifactId>cloud</artifactId> <version>0.0.1-SNAPSHOT</version> </parent> <artifactId>cloud-base-4000</artifactId> <build/> <dependencies> <dependency><!-- 自己定義的api --> <groupId>com.wlovet</groupId> <artifactId>cloud-api</artifactId> <version>${project.version}</version> </dependency> </dependencies> </project>
這時base服務中Hello類就不會報錯了,如下圖:
同樣,在operation服務也加入api的依賴,那麼在operation服務也可以使用api中所有的類了
第八步、如何將這些module打包成一個個執行的jar包,在base服務的Hello類建立一個main方法,加入如下程式碼:
User user = new User(); user.setName("為止"); user.setGender("男"); System.out.println(user);
在pom.xml中加入如下配置:
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>1.2.1</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>com.wlovet.Hello</mainClass><!-- 此處改為自己的類路徑 --> </transformer> </transformers> </configuration> </execution> </executions> </plugin> </plugins> </build>
點選base服務的pom檔案,右鍵—>Run As—>Maven Install,可以專案路徑下的target資料夾中找到打包好的jar包
拿到cmd中執行