SpringBoot отсутствует бин ServletWebServerFactory - PullRequest
0 голосов
/ 25 апреля 2020

Я получаю эту ошибку:

Причина: org.springframework.context.ApplicationContextException: Невозможно запустить ServletWebServerApplicationContext из-за отсутствия компонента ServletWebServerFactory.

Это цель в моей конфигурации запуска.

package mystuff;

import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;

@SpringBootApplication(scanBasePackages = "mystuff")
public class Runner {

    public static void main(String[] args) {
        new SpringApplicationBuilder(MyApp.class).run(args);
    }

}

А это MyApp.class:

package mystuff;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class MyApp {

    @RequestMapping("/")
    public String index() {
        return "Hello World";
    }
}

А это мой файл сборки Gradle:

plugins {
    java
    id("org.springframework.boot") version "2.2.2.RELEASE"
    id("io.spring.dependency-management") version "1.0.8.RELEASE"
}

group = "org.example"
version = "1.0-SNAPSHOT"

repositories {
    mavenCentral()
}

dependencies {
    implementation("org.springframework.boot:spring-boot-starter-web")
    testCompile("junit", "junit", "4.12")
}

configure<JavaPluginConvention> {
    sourceCompatibility = JavaVersion.VERSION_1_8
}

Оба MyApp. java и Runner. java находятся в одном пакете "mystuff". Я искал здесь на Stackoverflow, но моя конфигурация кажется правильной.

Ответы [ 2 ]

0 голосов
/ 25 апреля 2020

В Runner классе, замените

new SpringApplicationBuilder(MyApp.class).run(args);

на

new SpringApplicationBuilder(MyApp.class).web(WebApplicationType.SERVLET).run(args);
0 голосов
/ 25 апреля 2020

Не могли бы вы попробовать

@SpringBootApplication(scanBasePackages = "mystuff")
public class Runner {

    public static void main(String[] args) {
        SpringApplication.run(Runner.class, args);
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...