Spring Boot gradle“找不到或加载主类”

Posted

技术标签:

【中文标题】Spring Boot gradle“找不到或加载主类”【英文标题】:Spring boot gradle "Could not find or load main class" 【发布时间】:2018-05-09 00:18:37 【问题描述】:

我有想要打包到 jar 中的 Spring Boot 应用程序。运行中 我的应用程序“java -jar app.jar”遇到错误“无法找到或加载主类 com.software.appcreator.MyClass”。我使用 gradle 构建应用程序,这里是我的 build.gradle 文件的详细信息(没有依赖项):

https://pastebin.com/MvNgBDua

格式化 build.gradle 存在问题,因此发布在 pastebin 上

出现这种情况的原因可能是什么?我指出了配置中的主类,而 MyClass 存在于最终的 jar 中

【问题讨论】:

【参考方案1】:

你需要运行./gradlew bootRepackage来生成可执行jar。

参考:https://docs.spring.io/spring-boot/docs/current/reference/html/build-tool-plugins-gradle-plugin.html#build-tool-plugins-gradle-packaging

【讨论】:

我访问了您的链接,但字符串“bootRepackage”不存在。文档有变化吗?【参考方案2】:

gradle bootRun 有效吗?不需要自己写jar任务,默认的assemble任务构建的jar文件应该已经可以了。

https://docs.spring.io/spring-boot/docs/current/reference/html/using-boot-running-your-application.html

【讨论】:

【参考方案3】:

如果有人遇到同样的问题,请将下面的 sn-p 放入你的 build.gradle 并重新构建。

springBoot 
    mainClassName = "your.class.Name"

【讨论】:

以上是关于Spring Boot gradle“找不到或加载主类”的主要内容,如果未能解决你的问题,请参考以下文章

spring boot gradle

QueryDSL、spring-boot 和 Gradle

spring boot + gradle[草稿]

飞舞的spring boot2(52)——Spring Boot Gradle插件

多模块 Spring Boot 项目中的 Gradle 依赖插件

使用Spring Boot Gradle插件的多模块项目