Не удается запустить ServletWebServerApplicationContext

#spring-boot #netflix-eureka

#весенняя загрузка #netflix-эврика #netflix-Эврика

Вопрос:

Я изучаю spring-boot, читая учебные пособия на официальном сайте http://spring.io . Когда я попытался внедрить клиент обнаружения служб, я получил следующую информацию об ошибке: Unable to start ServletWebServerApplicationContext due to missing ServletWebServerFactory bean. . Я прочитал множество решений в Google, но ни одно из них не помогло. Можете ли вы дать мне какой-нибудь совет? Я новичок в весенних ботинках. Вот мой код:
— Класс приложения spring-boot

 @EnableDiscoveryClient
@SpringBootApplication
public class DiscoveryClientApplication extends SpringBootServletInitializer {

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

  
  • Класс контроллера:
 
@RestController
public class Controller {

    @Autowired
    private DiscoveryClient discoveryClient;

    @RequestMapping("service-instances/{appName}")
    public List<ServiceInstance> serviceInstanceByApplicationName(@PathVariable
                                                                      String applicationName) {
        return this.discoveryClient.getInstances(applicationName);
    }

}

  
  • И приложение.свойства
 server.port = 20000


eureka.instance.prefer-ip-address = true
eureka.client.register-with-eureka = true
eureka.client.fetch-registry = true
eureka.client.service-url.default-zone = http://localhost:8761/eureka

spring.application.name = service-discovery-client

spring.jpa.hibernate.ddl-auto = create
spring.datasource-url = jdbc:mysql://localhost:3306/spring-test
spring.datasource.username = root
spring.datasource.password = 80966cc9

spring.jpa.database = MYSQL
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL8Dialect
  

Мой проект — это проект maven, а клиент обнаружения — это подпроект, это pom.xml унаследован от проекта отца. В проекте father я добавил все зависимости. Два других подпроекта выполняются нормально, только эта служба не может быть запущена.

Комментарии:

1. Предполагая, что у вас есть зависимость от spring-boot-starter-web в вашем pom.xml , я бы предположил, что Maven повредил одну из банок Tomcat при их загрузке. Попробуйте очистить локальный кэш Maven и перестроить свое приложение.

2. Моя проблема была решена. Большое вам спасибо.