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

问题描述

no main manifest attribute

解决方案

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

  • 最关键要关注这 2 个 pom.xml(starter - pom.xml & project - pom.xml)
html 复制代码
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <includeSystemScope>true</includeSystemScope>
            </configuration>
        </plugin>
    </plugins>
</build>

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

  • 查看上面图片上文件 MANIFEST.MF,有出现 Main-Class、Start-Class 说明稳了~
bash 复制代码
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 做一些处理。当然如果没这个需求,我觉得可以不用加这段,理论上也可以启动成功!

html 复制代码
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.1</version>
            <configuration>
                <source>8</source>
                <target>8</target>
                <encoding>UTF-8</encoding>
                <annotationProcessorPaths>
                    <path>
                        <groupId>org.mapstruct</groupId>
                        <artifactId>mapstruct-processor</artifactId>
                        <version>1.4.1.Final</version>
                    </path>
                    <path>
                        <groupId>org.projectlombok</groupId>
                        <artifactId>lombok</artifactId>
                        <version>1.18.12</version>
                    </path>
                </annotationProcessorPaths>
            </configuration>
        </plugin>
    </plugins>
</build>
相关推荐
极客先躯36 分钟前
高级java每日一道面试题-2025年3月05日-微服务篇[Eureka篇]-Eureka在微服务架构中的角色?
java·微服务·架构·服务注册·健康检查·架构服务发现
北漂老男孩2 小时前
IntelliJ IDEA 调试技巧指南
java·ide·intellij-idea
八股文领域大手子3 小时前
Leetcode32 最长有效括号深度解析
java·数据库·redis·sql·mysql
上官美丽3 小时前
Springboot中的@ConditionalOnBean注解:使用指南与最佳实践
java·spring boot·mybatis
Another Iso3 小时前
Windows安装Apache Maven 3.9.9
java·maven
鹏神丶明月天3 小时前
mybatis_plus的乐观锁
java·开发语言·数据库
fantasy_43 小时前
Java数据类型 Arrays VS ArraysList VS LikedList 解析
java
IT__learning3 小时前
Java通过Apache POI操作Excel
java·apache·excel
Sendingab4 小时前
3.8 Spring Boot监控:Actuator+Prometheus+Grafana可视化
spring boot·grafana·prometheus
ylfhpy4 小时前
Java面试黄金宝典1
java·开发语言·算法·面试·职场和发展