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

这篇文章给大家介绍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

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

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


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

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

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

继续测试,把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
                        
                    
                
            
        
    

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

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

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

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


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

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

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

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

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

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

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


当前名称:springboot多模块打包的记录是怎样的
文章来源:http://pwwzsj.com/article/gjhdcc.html