一、问题背景
使用maven对SpringBoot项目打jar包,jar包无法正常运行,出现如下问题:
- 问题1:
xxx.jar中没有主清单属性
- 问题2:
Error: A JNI error has occurred, please check your installation and try again
Caused by: java.lang.ClassNotFoundException: XXX
表面上报错是找不到依赖包的某一类,实际上解压jar包发现相关依赖并没有打进去
二、问题解决
- 问题1-无主清单属性
在项目pom文件中引入spring-boot-maven-plugin插件并指定主类即可
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>com.xxx.xxx</mainClass>
</configuration>
</plugin>
</plugins>
</build>
- 问题2-未将pom依赖打入jar包
未将spring-boot-starter-parent指定为本项目的parent项目
在pom文件中指定即可
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.4.RELEASE</version>
</parent>