jar中没有主清单属性 java -jar xxx-0.0.1-SNAPSHOT.jar 没有主清单属性(解决 全程图解 windows)

问题描述

成功解决

解决方法一

查看pom.xml

打包文件是否有这行

正确的打包文件

java 复制代码
        <plugins>
            
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.6.13</version><!--  自己的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>会导致找不到主清单属性?

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

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

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

按照正确替换依赖后

如若还没有解决,可能是你项目中有其他主类影响了依赖的判断

那么我们可能需要第二种方法


解决方法二

选取存放地址

最后结果


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

Thanks♪(・ω・)ノ喵

相关推荐
gadiaola5 分钟前
【JVM】Java虚拟机(二)——垃圾回收
java·jvm
крон2 小时前
【Auto.js例程】华为备忘录导出到其他手机
开发语言·javascript·智能手机
zh_xuan3 小时前
c++ 单例模式
开发语言·c++·单例模式
coderSong25683 小时前
Java高级 |【实验八】springboot 使用Websocket
java·spring boot·后端·websocket
老胖闲聊3 小时前
Python Copilot【代码辅助工具】 简介
开发语言·python·copilot
Blossom.1183 小时前
使用Python和Scikit-Learn实现机器学习模型调优
开发语言·人工智能·python·深度学习·目标检测·机器学习·scikit-learn
Mr_Air_Boy4 小时前
SpringBoot使用dynamic配置多数据源时使用@Transactional事务在非primary的数据源上遇到的问题
java·spring boot·后端
曹勖之4 小时前
基于ROS2,撰写python脚本,根据给定的舵-桨动力学模型实现动力学更新
开发语言·python·机器人·ros2
豆沙沙包?4 小时前
2025年- H77-Lc185--45.跳跃游戏II(贪心)--Java版
java·开发语言·游戏
军训猫猫头4 小时前
96.如何使用C#实现串口发送? C#例子
开发语言·c#