Maven - no main manifest attribute(SpringBoot 多模块)

问题描述

no main manifest attribute

解决方案

一个主项目下,多个业务模块,假设 starter 模块作为启动器,以及主项目(project)最外层父 pom.xml

  • 最关键要关注这 2 个 pom.xml(starter - pom.xml & project - pom.xml)

Maven - no main manifest attribute(SpringBoot 多模块)_第1张图片


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

其实 starter - pom.xml 写上这个就亲测有效,如何验证呢?!

  • 查看上面图片上文件 MANIFEST.MF,有出现 Main-Class、Start-Class 说明稳了~
Manifest-Version: 1.0
Implementation-Title: szqy-starter
Implementation-Version: 0.0.1-SNAPSHOT
Start-Class: com.szqy.starter.SzqyStarterApplication
Spring-Boot-Classes: BOOT-INF/classes/
Spring-Boot-Lib: BOOT-INF/lib/
Build-Jdk-Spec: 1.8
Spring-Boot-Version: 2.1.18.RELEASE
Created-By: Maven Archiver 3.4.0
Main-Class: org.springframework.boot.loader.JarLauncher

但是为什么还要在 project - pom.xml 加插件,是因为这项目用了 mapstruct,需要对它和 lombok 做一些处理。当然如果没这个需求,我觉得可以不用加这段,理论上也可以启动成功!


    
        
            org.apache.maven.plugins
            maven-compiler-plugin
            3.8.1
            
                8
                8
                UTF-8
                
                    
                        org.mapstruct
                        mapstruct-processor
                        1.4.1.Final
                    
                    
                        org.projectlombok
                        lombok
                        1.18.12
                    
                
            
        
    

你可能感兴趣的:(#,Maven,spring,boot,maven,java,no,main,manifest,attribute,多模块)