码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Maven - no main manifest attribute(SpringBoot 多模块)


    问题描述

    no main manifest attribute

    解决方案

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

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

    1. <build>
    2. <plugins>
    3. <plugin>
    4. <groupId>org.springframework.bootgroupId>
    5. <artifactId>spring-boot-maven-pluginartifactId>
    6. <configuration>
    7. <includeSystemScope>trueincludeSystemScope>
    8. configuration>
    9. plugin>
    10. plugins>
    11. build>

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

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

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

    1. <build>
    2. <plugins>
    3. <plugin>
    4. <groupId>org.apache.maven.pluginsgroupId>
    5. <artifactId>maven-compiler-pluginartifactId>
    6. <version>3.8.1version>
    7. <configuration>
    8. <source>8source>
    9. <target>8target>
    10. <encoding>UTF-8encoding>
    11. <annotationProcessorPaths>
    12. <path>
    13. <groupId>org.mapstructgroupId>
    14. <artifactId>mapstruct-processorartifactId>
    15. <version>1.4.1.Finalversion>
    16. path>
    17. <path>
    18. <groupId>org.projectlombokgroupId>
    19. <artifactId>lombokartifactId>
    20. <version>1.18.12version>
    21. path>
    22. annotationProcessorPaths>
    23. configuration>
    24. plugin>
    25. plugins>
    26. build>
  • 相关阅读:
    【Go语言】Go项目工程管理
    【python】爬取杭州市二手房销售数据做数据分析【附源码】
    uview 1 uni-app表单 number digit 的输入框有初始化赋值后,但是校验失败
    CentOS 7.6基于Nginx静态服务器搭建个人网站
    GO语言常用标准库 fmt
    Android 设计模式—模板方法模式
    Django5+React18前后端分离开发实战05 序列化
    【C指针终极奥义】回调函数思想——函数指针做函数参数
    【linux】cpu过高解决方法
    Vue 3 学习 源码解读
  • 原文地址:https://blog.csdn.net/Dream_Weave/article/details/134076050
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号