构建springboot多模块项目,启动时可以正常启动,执行了父工程的maven的clean也没问题,执行install的时候就报错了:Unable to find main class。显而易见 这个错是找不到主类。
记录下解决过程:
首先看自己项目的父工程中是否存在以下标签:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
因为我是使用springboot官网构建的项目,再此基础上搭建的多模块,导致这里一开始就有,我没注意到,执行install的时候就报错:Unable to find main class。我出现这个问题就是这个标签没有正确配置或者位置没有放对导致的。
我这里提供解决办法如下,也是亲自验证过的:
1:父工程中指定启动类所在路径
clean:
install时:
启动
2:将父工程中的build标签放到有主程序的工程所在的pom文件中(我这里主程序是在admin包下),放在主程序所在工程的pom文件中时就不需要指定主程序所在路径了。如图:
clean后:
install后:
启动:
build中的plugins中标签的含义:
build中的plugins,它定义了 spring-boot-maven-plugin 插件的使用,这个插件在 Spring Boot 项目中非常重要,它用于将项目打包成可执行的 JAR 文件,并执行其他与 Spring Boot 相关的任务。
1:<plugin> 标签:这是 Maven 构建工具用来定义插件的起始标签。在这个标签内,可以配置插件的详细信息;
2:<groupId> 和 <artifactId>:这两个标签指定了插件的坐标(Coordinates),即插件的唯一标识符。在这里,org.springframework.boot 是插件的 Group ID,spring-boot-maven-plugin 是插件的 Artifact ID。这些信息用于在 Maven 仓库中定位并下载插件。
3:<configuration> 标签:这个标签包含了插件的配置信息。
4:<mainClass>标签: 指定了 Spring Boot 应用程序的主类,主类是 Spring Boot 应用程序的入口点,即可执行 JAR 文件的入口点,当你运行 JAR 文件时,这个类的 main 方法会被执行。在这个例子中,主类是 com.lucky.PracticeApplication
以此记录下这个坑,希望可以帮到其他遇到这个问题的小伙伴。描述有误得方法欢迎大家指正。有问题可加Q:876942434