千家信息网

springboot多模块打包的记录是怎样的

发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,这篇文章给大家介绍springboot多模块打包的记录是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。项目结构如下:各项目的pom.xml文件如下,父项目
千家信息网最后更新 2025年01月21日springboot多模块打包的记录是怎样的

这篇文章给大家介绍springboot多模块打包的记录是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

项目结构如下:

各项目的pom.xml文件如下,

父项目

    4.0.0            common        controller        domain        com.hs    demo    0.0.1-SNAPSHOT    spring-modules    pom    Demo project for Spring Boot            1.8        UTF-8        2.4.2                true        true                            org.springframework.boot            spring-boot-starter-test            test                                                                                        org.springframework.boot                spring-boot-dependencies                2.4.4                pom                import                                                                            org.springframework.boot                spring-boot-maven-plugin                                                                                        repackage                                                                                                                org.apache.maven.plugins                maven-compiler-plugin                3.7.0                                    ${java.version}                    ${java.version}                    ${project.build.sourceEncoding}                                                                    org.apache.maven.plugins                maven-surefire-plugin                2.19.1                                    ${maven.test.skip}                    ${maven.test.failure.ignore}                                        

controller子项目(主工程)

            demo        com.hs        0.0.1-SNAPSHOT        4.0.0    controller    jar                        org.springframework.boot            spring-boot-starter                            org.springframework.boot            spring-boot-starter-web                            mysql            mysql-connector-java                            mysql            mysql-connector-java                            com.hs            domain            0.0.1-SNAPSHOT                            com.hs            common            0.0.1-SNAPSHOT            

domain子项目(model和service、repository)

            demo        com.hs        0.0.1-SNAPSHOT        4.0.0    domain                        org.springframework.boot            spring-boot-starter-data-jpa                            com.hs            common            0.0.1-SNAPSHOT            

common子项目(公共类项目)

            demo        com.hs        0.0.1-SNAPSHOT        4.0.0    common

下面开始测试,目前spring-boot-maven-plugin在父pom文件上,执行后报错找不到main class文件:Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:2.4.4:repackage (default) on project common: Execution default of goal org.springframework.boot:spring-boot-maven-plugin:2.4.4:repackage failed: Unable to find main class

按照提示,在父pom.xml中增加main class的配置

                org.springframework.boot                spring-boot-maven-plugin                                    com.hs.demo.DemoApplication                    ZIP                                                                                                        repackage                                                                        

这会报了4个错误,都是报包不存在的

继续测试,把spring-boot-maven-plugin放到主工程的pom中去

最终controller工程的pom.xml如下:

            demo        com.hs        0.0.1-SNAPSHOT        4.0.0    controller    jar                        org.springframework.boot            spring-boot-starter                            org.springframework.boot            spring-boot-starter-web                            mysql            mysql-connector-java                            mysql            mysql-connector-java                            com.hs            domain            0.0.1-SNAPSHOT                            com.hs            common            0.0.1-SNAPSHOT                                                    org.springframework.boot                spring-boot-maven-plugin                                                                                        repackage                                                                                    

继续测试,打包成功,文件大小正常

这个repackage有什么用呢?去了试试,最终变成这样

                                    org.springframework.boot                spring-boot-maven-plugin                        

同样也打包成功,只不过主工程的jar大小有点问题,只有4kb

看看官网对这个的解释:https://docs.spring.io/spring-boot/docs/2.4.4/maven-plugin/reference/htmlsingle/#repackage-example-exclude-dependency

这个其实就是把所有依赖的jar包都打进来。

关于springboot多模块打包的记录是怎样的就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

0