Spring Boot单项目多模块多启动类【至简版】

项目架构

Spring Boot单项目多模块多启动类【至简版】_第1张图片

 

IDE结构

Spring Boot单项目多模块多启动类【至简版】_第2张图片

 

项目创建流程:https://blog.csdn.net/baidu_41885330/article/details/81875395

各模块打包出现错误:https://blog.csdn.net/lizhongfu2013/article/details/79656972

Common打包出来的应该是不可执行的jar包,所以不要在Common的pom中定义spring-boot-maven-plugin插件,因为这个SpringBoot插件会在Maven的package后进行二次打包,目的为了生成可执行jar包,如果C中定义了这个插件,会报错提示没有找到main函数。

这里博主没说明白,如果父pom.xml添加了spring-boot-maven-plugin,则每个子模块的pom.xml即使没添加这个插件,也会自动继承父pom.xml的spring-boot-maven-plugin,所以会出现明明子模块没加这个插件还是会报没找到main函数的错误。

解决办法:

删除父模块pom.xml 的 spring-boot-maven-plugin,在每个需要被打包成spring boot 可运行程序的子模块添加spring-boot-maven-plugin。以本项目为例:api,admin是要打包成spring boot 启动类,故在这两个子模块的pom.xml添加


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

其他dao,service,base不需要

api模块pom.xml



    4.0.0
    
        com.daofa
        app
        0.0.1-SNAPSHOT
        ../pom.xml 
    
    com.daofa
    api
    0.0.1-SNAPSHOT
    api
    jar
    Demo project for Spring Boot

    
        1.8
        true
    

    
        
            org.springframework.boot
            spring-boot-starter-web
        
        
        
            com.daofa
            base
            0.0.1-SNAPSHOT
        
        
        
            com.daofa
            service
            0.0.1-SNAPSHOT
        
        
        
            com.daofa
            dao
            0.0.1-SNAPSHOT
        
    
    
    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    

dao模块pom.xml



    4.0.0
    
        com.daofa
        app
        0.0.1-SNAPSHOT
        ../pom.xml 
    
    com.daofa
    dao
    0.0.1-SNAPSHOT
    dao
    jar
    Demo project for Spring Boot

    
        1.8
        true
    

    
        
            org.mybatis.spring.boot
            mybatis-spring-boot-starter
            2.1.1
        

        
            mysql
            mysql-connector-java
            runtime
        
        
            org.projectlombok
            lombok
            true
        
        
            com.alibaba
            fastjson
            1.2.28
        
    
    
        
            
            
                org.apache.maven.plugins
                maven-resources-plugin
                
                    UTF-8
                
            
        
    

打包出错:Failed to execute goal on project ...: Could not resolve dependencies for project

先父模块(root) 执行 mvn clean install

你可能感兴趣的:(java)