Spring cloud 通过父工程打包多个子工程
程序员文章站
2024-02-03 20:50:58
...
在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包,这就算大功告成啦~~~