一、问题描述
使用环境:Java8 + idea 2020
项目是基于springboot2.1.2 搭建的,在使用idea自带的Artifacts打包jar后,运行出现:“无法加载主类”的报错。在查询解决办法后出现新报错:“没有主清单属性”。
使用解压软件打开上述两种办法构建的jar包分析,是文件结构不对,遂放弃使用idea打包。后查询通过maven方式打包的方法后,成功解决问题。
二、maven 打包方法
本方法参考原文链接:https://blog.youkuaiyun.com/Mrzhuangr/article/details/124731024
原作者:优快云博主「zhuang先森」
1、在工程主pom文件中的<build>标签中加入以下配置后,点击窗口右上角蓝色图标刷新maven。
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
2、先使用maven中的clean清理老的打包文件,再使用package重新打包即可在项目中的target文件夹下得到project.jar和project.jar.original两个文件。把project.jar文件复制出来运行就可以了。

文章讲述了在使用IDEA2020的Artifacts功能打包SpringBoot项目时遇到的无法加载主类和没有主清单属性的错误。作者发现是由于文件结构问题导致。然后通过添加SpringBoot的Maven插件并执行clean和package命令,成功解决了问题,生成了可运行的jar文件。
2万+





