SpringBoot 多模块打包

SpringBoot 多模块打包是个坑,各位同行的资料借鉴了不少还是花了一下午才爬出来。

需求背景

已构建一个Spring Boot多模块项目,项目结构为


image.png

其中:
api模块和common模块是基础模块,没有引用其他模块
dao模块是Mybatis基础的模块,还引用了common模块
service模块引用了dao模块和api模块
web模块引用了service模块,是springboot的启动入口模块

配置POM文件

父工程的POM

不要配置build节点
不要配置build节点
不要配置build节点

api模块

image.png

注意:不配置build节点,不要手抖加了Maven的插件哦
注意:红色框住的默认是没有的,加一下指定父pom文件的位置

common模块

同api模块

dao模块

image.png

注意:这里配置build节点只是因为dao模块里有Mybatis的xml文件

service模块

同api模块

web模块

这里是重点,直接贴代码

<build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**.*</include>
                    <include>**/*.*</include><!-- i18n能读取到 -->
                    <include>**/*/*.*</include>
                </includes>
            </resource>
        </resources>

        <!-- 为jar包取名 -->
        <finalName>web-start</finalName>
        <plugins>
            <!-- 热布署 -->
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <!--fork :  如果没有该项配置,这个devtools不会起作用,即应用不会restart -->
                    <fork>true</fork>
                    <mainClass>com.eliteai.et8080.Et8080WebApplication</mainClass>
                    <layout>ZIP</layout>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal><!--可以把依赖的包都打包到生成的Jar包中-->
                        </goals>
                        <!--可以生成不含依赖包的不可执行Jar包-->
                        <!-- configuration>
                          <classifier>exec</classifier>
                        </configuration> -->
                    </execution>
                </executions>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.19.1</version>
                <configuration>
                    <skipTests>true</skipTests>    <!--默认关掉单元测试 -->
                </configuration>
            </plugin>
        </plugins>
    </build>

到这里结束了,对着项目package就行了。可行请点个赞哈~

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,107评论 19 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,149评论 6 342
  • 在老家去菜园的中间路口,往上走的沙皮路。 在玩荒野行动,一辆吉普车,队友已经在车上了,相信他一次。 于是我就打开地...
    沂尾鱼阅读 1,540评论 0 0
  • millieayi阅读 2,773评论 0 0
  • 初涉红尘尚新鲜,堪破人情不留恋。 斟酌来去找分寸,精明一半傻一半。
    上林叶阅读 1,715评论 2 4

友情链接更多精彩内容