本文介绍: 在清单文件中,主类(Main Class)的信息一个关键元素,它告诉JVM运行一个类的main方法作为程序的入口点。此插件负责将你的项目打包一个执行的JAR文件,其中包含一个正确清单文件(MANIFEST.MF)以及所有项目依赖项。时,springbootmavenplugin就会被执行,它会生成一个正确的可执行的JAR文件包含主类信息以及所有的项目依赖项。Thanks♪(・ω・)ノ喵。

问题描述

 成功解决

 

解决方法

查看pom.xml

打包文件是否有这行

 正确的打包文件

        <plugins>
            
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId&gt;spring-boot-maven-plugin</artifactId&gt;
                <version&gt;2.6.13</version&gt;<!--  自己的SpingBoot版本   -->
                <configuration>
                    <!--  自己启动地址   -->
                    <mainClass>com.example.knowledgebase.KnowledgeBaseApplication</mainClass>
                </configuration>
                <executions>
                    <execution>
                        <id>repackage</id>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>


        </plugins>

为什么<skip>true</skip>会导致找不到主清单属性?

springbootmavenplugin配置设置 <skip>true</skip> 时,实际上你告诉Maven执行构建生命周期时跳过这个插件运行。此插件负责将你的项目打包成一个可执行的JAR文件,其中包含了一个正确清单文件(MANIFEST.MF)以及所有的项目依赖项。

清单文件中,主类(Main Class)的信息是一个关键的元素,它告诉JVM运行哪一个类的main方法作为程序的入口点。如果springbootmavenplugin被跳过了,那么这个清单文件可能不会被正确地生成,主类信息也就不会被加入到清单文件中。这就是为什么当你尝试运行JAR文件时,你会看到没有主清单属性” 的错误

所以,为了正确生成可执行的JAR文件,需要移除 <skip>true</skip> 配置或者将其设置为 false。这样,在执行 mvn package 或者 mvn install 时,springboot-mavenplugin就会被执行,它会生成一个正确的可执行的JAR文件,包含了主类的信息以及所有的项目依赖项。

按照正确替换依赖后

如若没有解决,可能是你项目中有其他主类影响了依赖的判断
那么我们可能需要第二种方法


解决方法

选取存放地址

 

 

 

 最后结果


哈,谢谢各位同志的阅读然后呢如果觉得本文对您有所帮助的话,还给个免费的赞捏
Thanks♪(・ω・)ノ喵

原文地址:https://blog.csdn.net/tq411810317/article/details/134813089

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_47930.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注