maven多模块打包注意事项详解
作者:Geroge1226
这篇文章主要为大家介绍了maven多模块打包注意事项详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
1、说明
项目开发过程中,我们会构建多模块maven工程。例如结构如下springboot工程。其中,绿色模块需要构建成可执行.jar包文件,红色模块是底层抽象模块被绿色模块引用。

- 执行maven打包,idea终端切换到goon-dance目录执行命令:
mvn clean package -Dmaven.test.skip=true
2、注意事项
(1) 最外层pom(上图中goon-dance层级)不需要配置maven插件信息。配置也只能配置<pluginManagement>信息。
....
<!--swagger3-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>${swagger.version}</version>
</dependency>
</dependencies>
</dependencyManagement>(2)被引用的红色模块pom文件也不需要配置maven插件信息。
(3)当最外层pom中继承:spring-boot-starter-parent时,只需要在打包成可执行文件的pom中添加spring-boot-maven-plugin插件即可
- goon-dance 中的pom
<!--springboot版本-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.7.RELEASE</version>
</parent>- goon-dance-admin的pom文件,不要手动添加指定可执行文件mainClass文件路径,否则生成的
jar包在执行时候提示:jar包没有主清单属性。
<build>
<plugins>
<!--使用springboot集成的maven插件-->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring-boot.version}</version>
<!-- <configuration>-->
<!-- <mainClass>com..sdc.SdcWebApplication</mainClass>-->
<!-- <skip>true</skip>-->
<!-- </configuration>-->
<!-- <executions>-->
<!-- <execution>-->
<!-- <id>repackage</id>-->
<!-- <goals>-->
<!-- <goal>repackage</goal>-->
<!-- </goals>-->
<!-- </execution>-->
<!-- </executions>-->
</plugin>
</plugins>
</build>(4)当最外出pom的parent是自定义的。则需要配置运行的mainClass类文件。以及配置插件的<goals>属性。
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring-boot.version}</version>
<configuration>
<mainClass>com.pousheng.sdc.SdcWebApplication</mainClass>
<skip>true</skip>
</configuration>
<executions>
<execution>
<id>repackage</id>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>以上就是maven多模块打包注意事项详解的详细内容,更多关于maven多模块打包注意事项的资料请关注脚本之家其它相关文章!
