目录
- 一、背景
- 二、如何创建父工程和子工程
- 三、聚合的方式一次性打包所有项目
一、背景
- 项目采用springcloud多模块开发(即一个父工程包含多个字工程)。
- 将项目打包部署到服务器,每次都需要进入单个工程进行分别打包,这样做比较耗时,可以通过父子工程来实现一次性打包所有项目。
二、如何创建父工程和子工程
- 参考此博文链接:
三、聚合的方式一次性打包所有项目
1、lz的springboot多模块项目(微服务项目)结构如下:
2、修改父工程的pom.xml文件
- 下图中①的部分表示:继承springboot提供的父工程,这段信息之前我是配置在子工程里面的,现在配于父工程的pom.xml文件中,子工程则不需要配置。
- 下图中②的部分表示:父项目的基本信息,注意以pom的方式打包。
<packaging> pom</packaging>
- 下图中③的部分表示:引入多个子工程模块名称。
- 下图中④的部分表示:maven资源插件 扫描已结尾的所有配置。
- 父工程pom.xml文件需要的代码。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.3.RELEASE</version>
<relativePath/>
</parent>
<groupId>com.rf.springcloud</groupId>
<artifactId>cloud</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>cloud</name>
<description>parent-project</description>
<packaging>pom</packaging>
<modules>
<module>eureka-server</module>
<module>cloud-zuul</module>
<module>cloud-system</module>
</modules>
<build>
<!--maven资源插件 扫描已$开头,已$结尾的所有配置-->
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<delimiters>
<delimiter>
$
</delimiter>
</delimiters>
</configuration>
</plugin>
</plugins>
</build>
3、修改子工程的pom.xml文件(lz以eureka-server子模块为例)
- 下图中①的部分表示:继承项目的父工程。
- 下图中②的部分表示:子工程的基本信息,注意以jar的方式打包。
<packaging>jar</packaging>
- 下图中③的部分表示:需在各个子工程中添加打包插件,这个插件主要是构建可执行的jar。
- 子工程pom.xml文件需要的代码。
<parent>
<groupId>com.rf.springcloud</groupId>
<artifactId>cloud</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>eureka-server</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<description>注册中心</description>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
4、开始打包
- idea开发工具右侧依次点击【maven】——>【父工程名称】——>【clean】,输出BUILD SUCCESS即表示【clean】操作成功。
- idea开发工具右侧依次点击【maven】——>【父工程名称】——>【install】,父工程和三个子工程都输出SUCCESS,最后出现BUILD SUCCESS,即表示【install】操作成功。
- 此时,在每个子工程taget下都会生成一个jar包,这就算大功告成啦~~~