Spring cloud 通过父工程打包多个子工程

在spring cloud微服务搭建过程中,我们创建了多个model,如图:
Spring cloud 通过父工程打包多个子工程_第1张图片
在项目完工之后,我需要将项目打包部署到服务器,而每次都是进入相应的模块目录下,分别打包:
这里写图片描述
这样做比较麻烦,下面介绍通过父子工程来实现一次性打包项目。

一.修改聚合父工程

打开父项目的pom.xml文件,里面有如下基本信息:

<modelVersion>4.0.0modelVersion>
<name>springcloudname>
<groupId>springcloudgroupId>
<artifactId>springcloudartifactId>
<version>1.0-SNAPSHOTversion>
<packaging>pompackaging>

添加如下信息,这里是继承springboot提供的父工程,这段信息之前我是配置在子工程里面的,现在配于此处,子工程则不需要配置:

<parent>
      <groupId>org.springframework.bootgroupId>
      <artifactId>spring-boot-starter-parentartifactId>
      <version>1.5.10.RELEASEversion>
      <relativePath/> 
 parent>

声明多个模块:


      <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.examplegroupId>
             <artifactId>eureka_serverartifactId>
             <version>0.0.1-SNAPSHOTversion>
         dependency>
         <dependency>
             <groupId>com.examplegroupId>
             <artifactId>service_quanartifactId>
             <version>0.0.1-SNAPSHOTversion>
         dependency>
         <dependency>
             <groupId>com.examplegroupId>
             <artifactId>service_feignartifactId>
             <version>0.0.1-SNAPSHOTversion>
         dependency>
         <dependency>
             <groupId>com.examplegroupId>
             <artifactId>service_zuulartifactId>
             <version>0.0.1-SNAPSHOTversion>
         dependency>
         <dependency>
             <groupId>com.examplegroupId>
             <artifactId>spring_kafkaartifactId>
             <version>0.0.1-SNAPSHOTversion>
         dependency>
     dependencies>
 dependencyManagement>

二.修改子模块,以eureka_server为例,打开它的pom.xml文件:
基本信息:

  <modelVersion>4.0.0modelVersion>
  <groupId>com.examplegroupId>
  <artifactId>eureka_serverartifactId>
  <version>0.0.1-SNAPSHOTversion>
  <packaging>jarpackaging>
  <name>eureka_servername>
  <description>Demo project for Spring Bootdescription>

添加如下,继承项目的父工程:

<parent>
      <groupId>springcloudgroupId>
      <artifactId>springcloudartifactId>
      <version>1.0-SNAPSHOTversion>
 parent>

其他依赖相关的东西和以前一样,正常编写,如果你的子工程相关依赖都一样的话,可以通通配置到父工程的pom.xml文件中去,我这里有些许差别,就不配置了。
最后,需在各个子模块中添加打包插件,这个插件主要是构建可执行的jar:

<build>
  <plugins>
        <plugin>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-maven-pluginartifactId>
        plugin>
    plugins>
 build>

开始打包:

mvn clean package

打包结果如下,则表示成功:
Spring cloud 通过父工程打包多个子工程_第2张图片
在taget下就会生成一个jar包,这就算大功告成啦~~~

你可能感兴趣的:(框架相关)