我正在通过阅读官方网站http://spring.io
上的教程来学习spring-boot。当我尝试实现服务发现客户端时,出现以下错误信息:Unable to start ServletWebServerApplicationContext due to missing ServletWebServerFactory bean.
。我在Google上阅读了许多解决方案,但没有一个有帮助。你能给我一些建议吗?我是春季靴的新手。
这是我的代码:
-春季启动应用程序类
@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是从父项目继承的。在父亲项目中,我添加了所有依赖项。其他两个子项目正常运行,只有此服务无法运行。