Maven实现多module打包成单个jar
首先我们开发的项目一定会是一个父项目和多个子项目
1:我这里有多个子项目,多个项目都继承父项目
2:start模块最终会依赖所有的模块,如果我们在打包前不对父项目进行先打包那么,我们start项目是无法打包成功的
如何打包:
1:在我们父项目中将父项目的打包方式设置为pom
<packaging>pom</packaging> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <excludes> <exclude> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </exclude> </excludes> </configuration> <executions> <execution> <goals> <!--be careful 在parent pom 里面一定要加这个属性--> <goal>repackage</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
如果我们不将父项目的打包方式设置为pom,会使我们子项目打包失败
注: 如果您有多个Maven项目,并且它们都有相似的配置,则可以通过提取那些相似的配置并创建一个父项目来重构项目。因此,您要做的就是让您的Maven项目继承该父项目,然后将这些配置应用于所有这些项目。
POM:用在父级工程或聚合工程中,用来做jar包的版本控制,必须指明这个聚合工程的打包方式为pom,
2:在其它项目的pom.xml里添加
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</build>
子模块默认打包方式为jar
3:在start项目模块的pom.xml里添加
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
参考链接:https://blog.csdn.net/weixin_44787319/article/details/114339075
联系方式