问题描述
成功解决
解决方法一
查看pom.xml
打包文件是否有这行
正确的打包文件
<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♪(・ω・)ノ喵