Maven实现多module打包成单个jar

首先我们开发的项目一定会是一个父项目和多个子项目

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

参考链接:https://blog.csdn.net/xingkaichun/article/details/92829970

上一篇:Pom.xml文件核心配置


下一篇:极简SpringBoot指南-Chapter03-基于SpringBoot的Web服务