Spring Boot从2.7.8升级到3.0.3时出现Gradle任务找不到错误
Spring Boot 2.7.8升级到3.0.3时Gradle配置错误:找不到'bootRunMainClassName'任务
错误详情
org.gradle.api.ProjectConfigurationException: A problem occurred configuring project ':nc-application:nc-application-web-plugin:nc-application-runtime'.
...(省略部分栈跟踪)
Caused by: org.gradle.api.UnknownTaskException: Task with name 'bootRunMainClassName' not found in project ':nc-application:nc-application-web-plugin:nc-application-runtime'.
...(省略部分栈跟踪)
问题原因
Spring Boot 3.0.x配套的Gradle插件做了API变更,bootRunMainClassName任务在Spring Boot Gradle插件3.0版本中被移除。该任务在2.x版本中用于指定bootRun的主类,3.x版本改用直接配置bootRun任务属性或通过springBoot扩展来设置主类。
解决方案
找到项目中引用bootRunMainClassName的代码,替换为以下任意一种写法:
方式1:直接配置bootRun任务的mainClass属性
在对应模块的build.gradle中添加或修改:
tasks.named('bootRun') { mainClass = 'com.yourpackage.YourMainApplicationClass' }
方式2:通过springBoot扩展全局配置主类
springBoot { mainClass = 'com.yourpackage.YourMainApplicationClass' }
方式3:通过Java插件配置主类(Java项目适用)
java { mainClass.set('com.yourpackage.YourMainApplicationClass') }
额外检查
- 确保Spring Boot Gradle插件版本与Spring Boot版本匹配(3.0.3对应插件版本3.0.3)
- 排查项目中其他自定义Gradle逻辑是否依赖
bootRunMainClassName任务,同步修改为适配3.x的写法
内容的提问来源于stack exchange,提问作者mike ev
相关产品推荐
相关产品推荐

