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

Maven实现多module打包成单个jar_xml

 

 

 

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>