无法找到主类:bootRepackage

mfr*_*het 31 java rest spring gradle spring-boot

我的gradle构建存在问题.我使用Spring网站(https://spring.io/guides/gs/rest-service/)提出的标准,但是当我尝试使用gradle build时,我收到了这个错误:

我的gradle问题

它不适用于这个gradle,但是当我使用另一个(我在学校时使用的)它完美地工作.

小智 32

有两种可能性

  1. 您的源目录不在正确的位置(使用sourceSets指令来修复此问题.您的源目录应该类似于某些内容src/main/java/your/package)
  2. 添加此项以指示主类的位置

    src/main/java/your/package

我很确定它是1.

  • 对我来说,它是2. :)一旦我决定插入Spring Boot,我没有意识到我需要配置主类.仍然在Gradle和Spring Boot上走动...... (3认同)

Bru*_*uce 23

我也有这个问题,在这里我解决了这个问题:

如果您的项目只是将在其他项目中使用的模块,请使用org.springframework.boot:spring-boot-starter而不是org.springframework.boot:spring-boot-starter-web.

或者在gradle中设置主类:

mainClassName = 'your.package.MainClass'
Run Code Online (Sandbox Code Playgroud)

或者只是禁用 bootRepackage

bootRepackage {
    enabled = false
}
Run Code Online (Sandbox Code Playgroud)


Dav*_*yer 7

您的项目中没有主要方法(否则插件会找到一个).主方法具有非常特定的签名,因此请检查您的签名public static void main(String[] args).

  • 这不是真的,我遇到了同样的问题,并且在我的项目中有一个public static void main(String [] args). (4认同)

小智 6

如果主类没有在build.gradle文件所属的当前项目中定义,但是您希望为某些目的启动它,例如sprint集成测试.像这样做:

添加

bootRepackage {
    mainClass = 'your.app.package.Application'
}
Run Code Online (Sandbox Code Playgroud)

在build.gradle中(在行应用插件之后:'spring-boot',因为需要加载插件)修复问题.