Spring cloud 通過父工程打包多個子工程
在spring cloud微服務搭建過程中,我們創建了多個model,如圖:

在項目完工之后,我需要將項目打包部署到服務器,而每次都是進入相應的模塊目錄下,分別打包: 
這樣做比較麻煩,下面介紹通過父子工程來實現一次性打包項目。
一.修改聚合父工程
打開父項目的pom.xml文件,里面有如下基本信息:
<modelVersion>4.0.0</modelVersion>
<name>springcloud</name>
<groupId>springcloud</groupId>
<artifactId>springcloud</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
添加如下信息,這里是繼承springboot提供的父工程,這段信息之前我是配置在子工程里面的,現在配於此處,子工程則不需要配置:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.10.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
聲明多個模塊:
<modules>
<module>eureka_server</module>
<module>service_quan</module>
<module>service_feign</module>
<module>service_zuul</module>
<module>spring_kafka</module>
</modules>
統一管理依賴的版本號(可加可不加):
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.example</groupId>
<artifactId>eureka_server</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.example</groupId>
<artifactId>service_quan</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.example</groupId>
<artifactId>service_feign</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.example</groupId>
<artifactId>service_zuul</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.example</groupId>
<artifactId>spring_kafka</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
</dependencyManagement>
二.修改子模塊,以eureka_server為例,打開它的pom.xml文件:
基本信息:
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>eureka_server</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>eureka_server</name>
<description>Demo project for Spring Boot</description>
添加如下,繼承項目的父工程:
<parent>
<groupId>springcloud</groupId>
<artifactId>springcloud</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
其他依賴相關的東西和以前一樣,正常編寫,如果你的子工程相關依賴都一樣的話,可以通通配置到父工程的pom.xml文件中去,我這里有些許差別,就不配置了。
最后,需在各個子模塊中添加打包插件,這個插件主要是構建可執行的jar:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
開始打包:
mvn clean package
打包結果如下,則表示成功:

在taget下就會生成一個jar包,這就算大功告成啦~~~
微服務spring cloud 價值分享,技術交流 歡迎入QQ群:863634857,一起討論微服務

