springboot项目打jar包时老出现无法找到主类,"找不到或无法加载主类",在尝试过mvn clean,重新打包后依然还是报错,因为我的项目碰到过没有给定依赖的情况,也有给定了依赖依然无法加载的,方法尝试过很多,但是以下方法我都尝试成功过,大家如果有一样的问题可以一一尝试下:
父工程中加入maven插件
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<!-- <version>${maven-compiler-plugin.version}</version>-->
<version>2.4.5</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
每个子模块(有启动类)的模块都需要添加上maven的插件
<build>
<finalName>xxx<finalName><!-- 打包生成的jar的名字 xxx.jar-->
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
如果加上上面还是不行
方案二:
1,注意看版本,3.0以上的版本不支持jdk1.8,下降版本
2,idea的选项 file-project Structure-Aftifacts-添加jar-from modules with dependencies-填好mainClass,文件路径选到xxx.src就够了,不要选到main.java下了
3,插件中加入配置项
每个有启动类的模块都需要添加上maven的插件
<build>
<finalName>xxx</finalName>
<!-- 打包生成的jar的名字 xxx.jar-->
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<!-- <source>1.8</source>-->
<!-- <target>1.8</target>-->
<mainClass>xxx.xxx.启动类</mainClass>
</configuration>
<executions>
<execution>
<id>repackage</id>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>