[ERROR] Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:2.5.6:repackage (repackage) on project model: Execution repackage of goal org.springframework.boot:spring-boot-maven-plugin:2.5.6:repackage failed: Unable to find main class -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR] mvn <goals> -rf :model
分析原因:项目里面包含了某些工具类的模块,而工具类模块是不需要我们启动的,只是提供给其他微服务引用而已,不需要启动就意味着 没有main启动类
,但是父工程的pom文件却引用了 springboot打包插件 spring-boot-maven-plugin
<build>
<plugins>
<!--springboot打包插件-->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
父工程依赖了打包插件,而子工程中没有main启动类,所以在打包的时候mvn会扫描所有的依赖模块,如果发现某个模块下面没有main启动类,就会报错。
解决问题:在没有main启动类的子工程模块中引入如下依赖即可:
<properties>
<!--其中com.atguigu.yygh为项目中定义的包名-->
<start-class>com.atguigu.yygh.MyApplication</start-class>
</properties>
最后执行clean- compile -package就可以正常打包了。